Ubuntu Server下搭建LAMP

1993年Debian从linux中诞生,2004年10月Ubuntu从Debian中衍生出来,Ubuntu的版本号根据年份+月份的方式命名,最新的为14.10(每半年更新一次),我使用的是Ubuntu14.10,但建议使用14.04.1 LTS版本。

软件环境:windows7 + vmware4.3.20 + Ubuntu14.10 + xshell5 + FileZila

LAMP:Linux + Apache + MySQL + PHP(网易Ubuntu源

LAMP的解释:可以类似一个人的装着,从帽子,上衣,裤子,鞋子一整套:

技术分享

LAMP的原理:user通过browser访问Apache,Apache通过libphp5.so可以调用php解析器进行工作,执行相关的php部分代码,php中mysql.so可以连接MySQL进行CURD操作,将数据返回给php,返回到Apache,最后到用户界面。

技术分享

1:一般使用virtual box安装的虚拟机使用的NAT网络连接模式,默认主机ping不同虚拟机,可以再添加一个host-only网卡用来win7与ubuntu之间进行通信,配置之后(ifconfig)可能没有显示eth1,可以添加配置,重启网络服务:

技术分享

2:尝试连接,失败,sshd服务开启了么?安装openss-server即可,使用ps –e | grep “sshd”查看服务正在运行,再次连接,成功。。。

3:ubuntu下设置root密码。

4:安装Apache2, sudo apt-get install apache2;

5:安装PHP5;

6:安装mysql-server;

7:安装php5-mysql,查看/etc/php5/conf.d/下寻找mysql.so,找不到,要进行安装php5-mysql;重启mysql与apache

8:创建phpinfo()查看LAMP安装情况;

echo mysql_connect(‘localhost’, root, password) ? "do not worry db" : "db dump";
phpinfo();

技术分享

9:给php添加常用库:安装gd库,curl;

sudo apt-get install php5-gd curl libcurl3 libcurl3-dev php5-curl

重启apache,查看安装结果。

10:通过FileZila传输文件,最好能使用root用户登录用来传输文件:

使用FileZila登录UbuntuServer可能会无法登录失败,由于前面已经设置过root密码了,这里只说第二种:修改/etc/ssh/sshd_config,将PromitRootLogin without-password设置为PromitRootLogin yes,重启ssh服务即可。接下来就可以上传或下载文件了。

11:apache的目录结构:

通过apt-get方式安装的apache默认目录/etc/apache:

.
├── apache2.conf
├── conf-available
├── conf-enabled
├── envvars
├── magic
├── mods-available
├── mods-enabled
├── ports.conf
├── sites-available
└── sites-enabled
技术分享

apache先加载apache.conf,从include中加载指定的文件,其中mods-*指加载的模块,sites-*指定加载的站点,其中available指可以加载的,enabled指被加载的:

技术分享

MySQL的配置文件my.conf,php的配置文件php.ini

12:虚拟主机原理:

技术分享

通过apache设置三个二级网站:video.ggmarks.com,bbs.ggmarks.com,oa.ggmarks.com。

首先设置hosts文件:

#dns to diff
192.168.56.101        video.ggmarks.com
192.168.56.101        bbs.ggmarks.com
192.168.56.101        oa.ggmarks.com

创建目录:

wwwgg/
├── bbs
├── oa
└── video

在/etc/apache2/sites-avaiable/下复制000-default.conf到video,修改文件video:

ServerAdmin webmaster@localhost
ServerName video.ggmarks.com
DocumentRoot /wwwgg/video

在sites-enabled中软连接video.conf ---> video,注意这里必须是*.conf,由于在apache.conf中加载的是sites-enabled中的.conf文件:

/etc/apache2/
#       |-- apache2.conf
#       |       `--  ports.conf
#       |-- mods-enabled
#       |       |-- *.load
#       |       `-- *.conf
#       |-- conf-enabled
#       |       `-- *.conf
#       `-- sites-enabled
#               `-- *.conf

重启apache,访问video.ggmarks.com,可能出现403错误,再次修改sites-available中的video,bbs,oa,添加权限:

<Directory /path>

                Options Indexes FollowSymLinks MultiViews

                AllowOverride All

                Require all granted

        </Directory>

可以正常访问了。

13mysql数据目录的迁移:

停止MySQL服务,mysql的存储目录/var/lib/mysql,在’/’下创建mysqldata,修改mysql:mysql,分配权限700,然后复制文件到指定的文件夹;修改my.conf中的datadir,设置新的存储目录;修改/etc/apparmor.d/usr.sbin.mysqld,修改权限即可:

#  /var/lib/mysql/ r,
#  /var/lib/mysql/** rwk,
  /mysqldata/ r,
  /mysqldata/** rwk,

在mysql中创建ggmarks数据库:

root@ubuntu:/mysqldata# ll
total 28696
drwx------  5 mysql mysql     4096 Jan 30 22:44 ./
drwxr-xr-x 24 root  root      4096 Jan 30 22:25 ../
-rw-r--r--  1 root  root         0 Jan 30 19:20 debian-5.5.flag
drwx------  2 mysql mysql     4096 Jan 30 22:44 ggmarks/
-rw-rw----  1 mysql mysql 18874368 Jan 30 22:26 ibdata1
-rw-rw----  1 mysql mysql  5242880 Jan 30 22:42 ib_logfile0
-rw-rw----  1 mysql mysql  5242880 Jan 30 19:20 ib_logfile1
drwx------  2 mysql root      4096 Jan 30 19:21 mysql/
-rw-rw----  1 root  root         6 Jan 30 19:21 mysql_upgrade_info
drwx------  2 mysql mysql     4096 Jan 30 19:21 performance_schema/

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。