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/