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 rootroot 4096 Jan 30 22:25 ../
-rw-r--r--1 rootroot 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 mysql5242880 Jan 30 22:42 ib_logfile0
-rw-rw----1 mysql mysql5242880 Jan 30 19:20 ib_logfile1
drwx------2 mysql root 4096 Jan 30 19:21 mysql/
-rw-rw----1 rootroot 6 Jan 30 19:21 mysql_upgrade_info
drwx------2 mysql mysql 4096 Jan 30 19:21 performance_schema/
页:
[1]