2014-12-05 by zhou
(本文是借鉴网上其他大神的做法,亲自操作的过程,如有雷同,纯属巧合。之前做项目的时候,也配置过LAMP服务器的环境,只是当时只是遇到一些小问题。但是这次在阿里云上的服务器配置的时候,也就是写这份笔记的时候,前后一共安装了 6次,遇到各种问题,尝试过各种解决方法,最后一次在没抱多大希望的情况下竟然成功了,所以大伙根据这份文档配置的时候,遇到问题时,一点要多次尝试,这份文档是绝对没问题的!!!)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一、首先安装MySql:
1、安装MySql的服务:sudo apt-get install mysql-server
要注意的是安装过程中会提示你设置mysql的root账户的密码;其他就没什么需要注意的地方了。
2、安装MySql的客户端:sudo apt-get install mysql-client 直接输入安装
3、安装MySql的lib依赖库:sudo apt-get install libmysqlclient15-dev进行安装。
如果不安装的话会在系统中找不到mysql.h
以上就是MySql的基本安装了。在终端中输入mysql -u root -p 输入密码后 看看能不能进入mysql。
(像上面这种情况的话就是安装好了)
二、安装apache2:
1、官网下载http://httpd.apache.org/download.cgi,Unix Source: httpd-2.2.29.tar.bz2,我下的是2.2.29版本的tar.bz2,然后解压tar.gz
tar zxvf httpd-2.2.29.tar.bz2
把解压出来的文件移动到/usr/src/apache2
sudo cp -r httpd-2.2.29 /usr/src/apache2 #如果没有apache2文件无法移动的话 手动创建一个sudo mkdri /usr/src/apache2 由于修改/usr/下的文件需要root权限,所以需要加上sudo命令,加输入密码。
2、进入/usr/src/apache2/httpd-2.2.24,并且编译安装
cd /usr/src/apache2/httpd-2.2.24
./configure -prefix=/usr/local/apache -enable-module=so -enable-rewrite=shared -enable-authn-dbm
编译完成没错之后
输入make命令,完成后输入:make install开始安装。
3、安装完成后配置httpd.conf:
vim /usr/local/apache2/conf/httpd.conf #用编辑器打开httpd.conf 我用的是vim打开的
找到#ServerName 将前面的注释符号#去掉 并且将后面的内容改成localhost:80 整句就是:
ServerName localhost:80
这样服务启动的时候可以通过localhost来进行访问。
如果要修改服务器的监听端口的话可以在httpd.conf中查找Listen 80把 后面的80改成你想要的端口,在把ServerName localhost:80 后面的80改成你想要的端口。(我下面的截图是根据自己的需要将端口号修改成了5005 )
4、启动服务:
cd /usr/local/apache2/bin #进入/usr/local/apache2/bin目录
sudo ./apachectl start #启动apache 服务
然后打开游览器,输入访问地址localhost看看能否显示It Works,如果可以显示就说明已经安装完成。
(像上面这种情况就是可以了!!!)
三、安装配置PHP5
1、首先安装libxml2库,用来解析xml的的lib库输入:sudo apt-get install libxml2-dev 进行安装
2、官网下载php http://www.php.net/downloads.php 然后解压下载来的tar.bz2包
tar -xvf php-5.6.2.tar.bz2 #解压
sudo cp -r php-5.6.2 /usr/src/php5 #移动到/usr/src/php5目录下
3、编译安装php
cd /usr/src/php/php-5.6.2 #进入php所在目录
./configure
-prefix=/usr/local/php5 #php安装目录
-with-apxs2=/usr/local/apache/bin/apxs #apxs所在的目录,如果没有就sudo find / -name apxs 查询一下所在的目录
-with-mysql=/usr/ #这个是查找mysql.h的目录,不知道为什么我的mysql.h在/usr/include/中 但是 写这个路径没用必须写/usr/ 如果不知道mysql.h在哪就 sudo find / -name mysql.h查找一下
-with-mysqli=/usr/bin/mysql_config #mysql_config所在的目录,如果不再这个目录就find一下。(注意是 -mysqli(后面有i的))
-with-gd #打开对gd库的支持,如果应为这个报错,就安装一下gd库
-with-pear #打开pear命令的支持
-with-libxml-dir #打开对刚刚安装的libxml2的支持
整条编译语句是:./configure -prefix=/usr/local/php5 -with-apxs2=/usr/local/apache/bin/apxs -with-mysql=/usr/ -with-mysqli=/usr/bin/mysql_config -with-gd -with-pear -with-libxml-dir
如果编译时出现error的话 一般都是 依赖库lib 出问题,看提示缺少什么依赖库,然后安装一下就行。
完成后make一下
执行完make 后,会有如下提示:
我们按照提示执行make test ,最后的还会有提示选择 Y/n/s , 选择n 就好
最后一步:执行 make install
4、手动指定php.ini文件:
打开/usr/local/apache/conf/httpd.conf,在LoadModule php_module modules/libphp5.so这行下面加入PHPIniDir /etc/php.ini 指定php.ini的路径,然后进入你解压的php-5.6.2.tar. bz2的目录将php.ini-development复制到你指定的路劲/etc里并且重命名为php.ini:
cd /usr/src/php5/php-5.6.2 #进入php目录
sudo cp php.ini-development /etc #复制到/etc
cd /etc #切换到/etc目录下
sudo mv php.ini-development php.ini #将/etc目录下的 php.ini-development 重命名为php.ini
5、修改httpd.conf中的php支持和默认访问index.php:
打开/usr/local/apache2/conf/httpd.conf,把<Directory />中的内容改成:
<Directory />
Options FollowSymLinks
DirectoryIndex index.php index.html #指定默认先查找index.php 如果没有就查找index.html
AllowOverride None
Order deny,allow
Deny from all
</Directory>
·
接着在AddType application/x-gzip .gz .tgz下面一行中加入:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
6、启动\重启apache服务,在服务器根目录下编写php文件
sudo /usr/local/apache2/bin/apachectl stop #停止服务
sudo /usr/local/apache2/bin/apachectl start #启动服务
sudo /usr/local/apache2/bin/apachectl rstart #重启服务
cd /usr/lcoal/apache2/htdocs #进入apache2默认根目录
创建一个index.php文件 在里面编写<?php echo phpinfo();?>然后打开游览器输入localhost看看能否显示php的信息,如果可以则配置成功。
(如上图所示,就是大功告成了!!!)
四、其他配置:
1、手动配置apache的默认的根目录
用编辑器打开/usr/local/apache/conf/httpd.conf目录然后找到DocumentRoot/usr/lcoal/apache/htdocs把这个路径改成你要的路径然后在往下一点找到<Directory"/usr/lcoal/apache2/htdocs">把里面的路径也改成你想要指定的路径就可以了。
(下面的截图是我根据自己的需要将路径改成了“/home/zjc/TVCloud/Server”)
2、查看php.ini所在的路径:
很多时候不知道指定php.ini的路径在哪看,只要编写<?phpecho phpinfo();?>文件然后用游览器访问,看到php所有信息之后找到:LoadedConfiguration File这一行的右边的路径信息就是指定的php.ini路径的地址了。
=================================================================================================================
安装过程中遇到的问题总结:
问题1: phg.h not found
解决:sudo apt-get install libpng-dev
问题2:在/usr/local/apache/modules目录下没有 libphp5.so
解决:我也不知道是什么问题,后来将apache、php 清理干净后,再次重新安装时就有了。
问题3:无法获得锁 /var/lib/dpkg/lock - open (11:资源临时不可用)
解决:其实这是因为有另外一个程序在运行,导致锁不可用。原因可能是上次运行更新或安装没有正常完成。解决办法是杀死此进程
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
问题4:dpkg: warning: there's no installed package matchingttf-mscorefonts-installer:amd64
解决:apt-getinstall --reinstall ttf-mscorefonts-installer
问题5:浏览器访问php时,提示下载。下载的文件中的内容是服务器端的php脚本中的内容。
解决:现在也不清楚是什么原因,尝试着多次清理干净后再次安装,最后试了很多次才成功。