动机:由于要在服务器上安装一个开源的PHP写的应用,因此才有了下面的工做。 php
服务器系统:Ubuntu12.04 Server版(最恨那种不说明系统版本就开始说装什么装什么的,Linux好多发行版,再加上Windows,Mac,均可以配置,用的命令,默认的目录,软件的名字都不同,怎么搞?还一搜就找到一大堆,还包括各类转载,还有那种没素质的网站用爬虫把全部网站的数据都爬过来赚流量的,排版还不行,代码都看不清楚,百度空间那贴的代码能看? 若是我这篇日志如今出现的这个网站不叫开源中国,那么这个网站就是我吐槽的那一种。Web2.0时代建议你们写东西都负责点,这样你们的效率都能提升。这么多都不知道试哪一个,最可怕的是都试过来一遍尚未解决问题,真是蛋疼。我若是看见我这篇日志里写了这么多没用的东西我会很烦,还请海涵) mysql
一、安装Apache2 程序员
sudo apt-get install apache2 sql
安装完之后访问发现端口被占用,是由于我有一个另外的应用把80端口给占用了(默认是80,若是不想修改就不用下面的操做了),因此须要修改apache2的端口,我这里将端口从80修改成8001,修改的文件及具体位置以下: shell
文件:/etc/apache2/ports.conf 数据库
NameVirtualHost *:80 Listen 80 改成 NameVirtualHost *:8001 Listen 8001
文件:/etc/apache2/sites-available/default apache
<VirtualHost *:80> 改成 <VirtualHost *:8001>
而后重启apache2,再访问http://localhost:8001就会出现It Works的页面了。 浏览器
apache2默认的访问根目录为:/var/www 服务器
而后我将应用程序放到这个目录下面,访问,发现进不去,只是下载了一个不知道是什么东西的文件。纠结了大约半个小时,发现php没装,真是2。 wordpress
二、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(我原本觉得装上这玩意就能解决个人数据库链接问题了,是我想多了,网上的东西太坑)
三、sendmail设置
mysql链接成功之后,而后顺利安装完个人应用程序,而后试了一下邮件发送,结果不行。发现这个应用里面的mail函数用的是php的mail,因此就从php配置这下手,找到php.ini里的smtp配置,发现是only for Win32,果断放弃,而后就开始去网上搜,各类没用的信息。发现有人去下SendMail包,因而狠下心来:
sudo apt-get install sendmail
软件源里果真有这个东西,装完之后再试,大功告成。
四、mysql的安装与root密码设置
因为我原来装过mysql,因此就没说。想一想仍是写上吧。
直接apt-get install mysql-server mysql-client就能装上了
启动:service mysqld start
设置root密码:
#mysql
#mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('secret_password');