|
|
安装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 用得很笨,不要深究。 |
|