您的位置:首页 > 运维架构 > Apache

Ubuntu12.04 Server Apache2+Php5+MySQL5配置

2014-03-24 00:00 134 查看
摘要: Apache2+Php5+MySQL5配置过程及期间遇到的问题

动机:因为要在服务器上安装一个开源的PHP写的应用,所以才有了下面的工作。

服务器系统:Ubuntu12.04 Server版(最恨那种不说明系统版本就开始说装什么装什么的,Linux好多发行版,再加上Windows,Mac,都可以配置,用的命令,默认的目录,软件的名字都不一样,怎么搞?还一搜就找到一大堆,还包括各种转载,还有那种没素质的网站用爬虫把所有网站的数据都爬过来赚流量的,排版还不行,代码都看不清楚,百度空间那贴的代码能看? 如果我这篇日志现在出现的这个网站不叫开源中国,那么这个网站就是我吐槽的那一种。Web2.0时代建议大家写东西都负责点,这样大家的效率都能提高。这么多都不知道试哪个,最可怕的是都试过来一遍还没有解决问题,真是蛋疼。我如果看见我这篇日志里写了这么多没用的东西我会很烦,还请海涵)

1、安装Apache2

sudo apt-get install apache2

安装完以后访问发现端口被占用,是因为我有一个另外的应用把80端口给占用了(默认是80,如果不想修改就不用下面的操作了),所以需要修改apache2的端口,我这里将端口从80修改为8001,修改的文件及具体位置如下:

文件:/etc/apache2/ports.conf

NameVirtualHost *:80
Listen 80
改为
NameVirtualHost *:8001
Listen 8001

文件:/etc/apache2/sites-available/default

<VirtualHost *:80>
改为
<VirtualHost *:8001>

然后重启apache2,再访问http://localhost:8001就会出现It Works的页面了。

apache2默认的访问根目录为:/var/www

然后我将应用程序放到这个目录下面,访问,发现进不去,只是下载了一个不知道是什么东西的文件。纠结了大约半个小时,发现php没装,真是2。

2、Php5的安装

sudo apt-get install php5

安装完php5以后,继续尝试,能访问了,然后就去配置应用程序的数据库(这个过程跟wordpress的安装类似),发现点击确认后没反应,也没有错误显示在浏览器上。没办法,查了下程序的源码,发现错误日志控制的还是挺好的,于是去找php的日志。找了一圈也没找到php默认的错误日志输出,所以就直接配置了错误日志输出的位置,需要修改php的配置文件php.ini。由于是直接apt-get install的,所以php.ini也不太好找,无奈用find -name搜了一下,找到多个位置,发现修改

/etc/php5/apache2/php.ini

这个文件最靠谱,还有另外一个php.ini,但由于我使用的是apache2,所以就认为改这个的成功概率更高,结果经验证,配置文件就是这个。

修改下面这一行(注意去掉注释):

error_log=/var/www/php_errors.log


为了方便查看,我直接把错误日志放到apache2访问根目录了。

然后看日志,发现报了一个fatal error,是mysql的连接函数未定义,那就肯定是需要配置或者安装什么连接mysql的东西了,网上找了一下,很多很乱并且很不靠谱,而且很多是Windows下的配置,难道现在的程序员都在Windows下面写代码吗?最后好不容易找到一种靠谱的方法解决了我的问题:

php、apache与mysql的连接:

sudo apt-get install php5-mysql php5-gd

sudo apt-get install libapache2-mod-php5 libapache2-mod-auth-mysql

装完这四个东西,重启一下apache就ok了

service apache restart

为了解决这个问题,我还装了一个phpmyadmin(我本来以为装上这玩意就能解决我的数据库连接问题了,是我想多了,网上的东西太坑)

3、sendmail设置

mysql连接成功以后,然后顺利安装完我的应用程序,然后试了一下邮件发送,结果不行。发现这个应用里面的mail函数用的是php的mail,所以就从php配置这下手,找到php.ini里的smtp配置,发现是only for Win32,果断放弃,然后就开始去网上搜,各种没用的信息。发现有人去下SendMail包,于是狠下心来:

sudo apt-get install sendmail

软件源里果然有这个东西,装完以后再试,大功告成。

4、mysql的安装与root密码设置

由于我原来装过mysql,所以就没说。想想还是写上吧。

直接apt-get install mysql-server mysql-client就能装上了

启动:service mysqld start

设置root密码:

#mysql

#mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('secret_password');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MySQL Apache2 Php5