安装mysql+php+apache

安装mysql+php+apache


1. 简介

2. 环境
2.1 LFS 6.1
2.2 安装包
2.3 以root登录

3. 安装
3.1 mysql
3.2 apache+php

4. 后续工作
4.1 配置mysql开机启动
4.2 配置apache开机启动

5. 附录
5.1 once-off script
5.2 后记


1. 简介
介绍LAMP的文章很多。本文是基于源安装文档并在一个较为基础的Linux上测试通过。
‘较为基础的Linux’是指较为简化的并具备能够胜任大多数工作能力的Linux而非较为流行的Linux,此例使用LFS。
在此基础上测试通过,在其它发行版上也较通用。


2. 环境
2.1 LFS 6.1

2.2 安装包
以下安装包存放于/root/lamp/
mysql-standard-5.0.18-linux-i686-glibc23.tar.gz
php-5.1.2.tar.gz
httpd-2.2.0.tar.bz2

2.3 以root登录


3. 安装
3.1 mysql
mysql提供了binary的安装方式,以下步骤源于其INSTALL文档
原文档内容:
复制内容到剪贴板
代码:
     shell> groupadd mysql
     shell> useradd -g mysql mysql
     shell> cd /usr/local
     shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -
     shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
     shell> cd mysql
     shell> scripts/mysql_install_db --user=mysql
     shell> chown -R root  .
     shell> chown -R mysql data
     shell> chgrp -R mysql .
     shell> bin/mysqld_safe --user=mysql &
实际操作:
复制内容到剪贴板
代码:
     groupadd mysql
     useradd -g mysql mysql
     cd /usr/local
     tar zxf /root/lamp/mysql*
     ln -s mysql* mysql
     cd mysql
     scripts/mysql_install_db --user=mysql
     chown -R root  .
     chown -R mysql data
     chgrp -R mysql .
     bin/mysqld_safe --user=mysql &
3.2 apache+php
以下步骤源于php安装文档 http://www.php.net/manual/zh/install.unix.apache2.php
原文档内容:
复制内容到剪贴板
代码:
1.  gzip -d httpd-2_0_NN.tar.gz
2.  tar xvf httpd-2_0_NN.tar
3.  gunzip php-NN.tar.gz
4.  tar -xvf php-NN.tar
5.  cd httpd-2_0_NN
6.  ./configure --enable-so
7.  make
8.  make install

    现在已经将 Apache 2.0.NN 安装在 /usr/local/apache。本安装支持可装载模块
    和标准的 MPM prefork。之后,可以使用如下命令启动 Apache 服务器:
    /usr/local/apache2/bin/apachectl start
    如果成功,可以停止 Apache 服务器并继续安装 PHP:
    /usr/local/apache2/bin/apachectl stop.

9.  cd ../php4-NN

10. 现在需要配置 PHP。在这里可以用各种各样的参数来自定义PHP,例如启动哪些
    扩展功能包的支持等。用 ./configure --help 命令可以列出当前可用的所有参
    数。在此例中,将给出一个在有 MySQL 支持的 Apache 2 上进行配置的范例。
    用户本地的 apxs 的路径可能会不同,事实上,在用户的系统中,它可能被命名为
    apxs2。

    ./configure --with-apxs2=/usr/local/apache2/bin/apxs

11. make
12. make install

    如果决定在安装后改变配置选项,只需重复最后的三步,然后需要重新启动 Apache
    使新模块生效。无需重新编译。

    请注意,除非明确有提示,否则“make install”命令将安装 PEAR、各种 PHP 工具
    诸如 phpize,安装 PHP CLI 等等。

13. 配置 php.ini

    cp php.ini-dist /usr/local/lib/php.ini

    可以编辑 php.ini 文件以修改 PHP 的选项。如果想要把此文件放到另外的位置,
    需要在步骤 10 添加 --with-config-file-path=/path 选项。

    如果选择 php.ini -recommended,请务必阅读其中的变更的列表,它们将影响
    PHP 的执行。

14. 编辑 httpd.conf 文件以调用 PHP 模块。LoadMolude 表达式右边的路径必须指向
    系统中的 PHP。以上的 make install 命令可能已经完成了这些,但务必要检查。

    对于 PHP 4:
       LoadModule php4_module modules/libphp4.so

    对于 PHP 5:
       LoadModule php5_module modules/libphp5.so

15. 告知 Apache 将特定的扩展名解析成 PHP,例如,让 Apache 将扩展名 .php
    解析成 PHP。可以将任何扩展名指定为 PHP,只需添加它们,每一个用空格分隔。
    例如,要添加 .phtml:

    AddType application/x-httpd-php .php .phtml

    通常还将 .phps 扩展名设置成显示高亮的 PHP 源文件,可以这样来完成:

    AddType application/x-httpd-php-source .phps

16. 启动 Apache 服务器:
   /usr/local/apache2/bin/apachectl start
实际操作:
[php]
     
mkdir /root/lamp/tmp
cd /root/lamp/tmp
tar jxf ../http*
tar zxf ../php*
groupadd -g 25 apache &&
cd http*
./configure --enable-so
make
make install
cd ../php*
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
make
make install
cp php.ini-dist /usr/local/lib/php.ini
echo "AddType application/x-httpd-php .php .phtml" >> /usr/local/apache2/conf/httpd.conf

useradd -c "Apache Server" -d /dev/null -g apache -s /bin/false -u 25 apache
chown -R apache:apache /usr/local/apache2/htdocs

sed -e 's/User daemon/User apache/' /usr/local/apache2/conf/httpd.conf > /usr/local/apache2/conf/httpd.conf.tmp
sed -e 's/Group daemon/Group apache/' /usr/local/apache2/conf/httpd.conf.tmp > /usr/local/apache2/conf/httpd.conf
rm /usr/local/apache2/conf/httpd.conf.pre
echo "<?print 'It works';phpinfo()?>" > /usr/local/apache2/htdocs/index.php

/usr/local/apache2/bin/apachectl start
[/php]


4. 后续工作
4.1 配置mysql开机启动
4.2 配置apache开机启动


5. 附录
5.1 once-off script
[php]
groupadd mysql
useradd -g mysql mysql
cd /usr/local
tar zxf /root/lamp/mysql*
ln -s mysql* mysql
cd mysql
scripts/mysql_install_db --user=mysql
chown -R root  .
chown -R mysql data
chgrp -R mysql .
bin/mysqld_safe --user=mysql &
     
mkdir /root/lamp/tmp
cd /root/lamp/tmp
tar jxf ../http*
tar zxf ../php*
groupadd -g 25 apache &&
cd http*
./configure --enable-so
make
make install
cd ../php*
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
make
make install
cp php.ini-dist /usr/local/lib/php.ini
echo "AddType application/x-httpd-php .php .phtml" >> /usr/local/apache2/conf/httpd.conf

useradd -c "Apache Server" -d /dev/null -g apache -s /bin/false -u 25 apache
chown -R apache:apache /usr/local/apache2/htdocs

sed -e 's/User daemon/User apache/' /usr/local/apache2/conf/httpd.conf > /usr/local/apache2/conf/httpd.conf.tmp
sed -e 's/Group daemon/Group apache/' /usr/local/apache2/conf/httpd.conf.tmp > /usr/local/apache2/conf/httpd.conf
rm /usr/local/apache2/conf/httpd.conf.tmp
echo "<?print 'It works';phpinfo()?>" > /usr/local/apache2/htdocs/index.php

/usr/local/apache2/bin/apachectl start
[/php]

5.2 后记
感谢我自己制作的LFS安装livecd,我得以能够只用两分钟安装一个LFS环境,用于反复测试(实际上我只测试了一遍,第二遍是本着负责的态度而进行的)。
取得三个软件包后将once-off script复制到shell。
一阵翻江倒海,等整个世界都清静后,打开browser访问index.php,可爱的‘It works!’映入眼帘。
script 中 sed 用得很笨,不要深究。