08678 发表于 2015-8-19 10:44:20

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]
查看完整版本: Ubuntu Server下搭建LAMP