LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 964|回复: 2

又一篇LAMP, 不要扔鸡蛋

[复制链接]
发表于 2006-2-16 14:22:07 | 显示全部楼层 |阅读模式
安装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文档
原文档内容:

  1.      shell> groupadd mysql
  2.      shell> useradd -g mysql mysql
  3.      shell> cd /usr/local
  4.      shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -
  5.      shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
  6.      shell> cd mysql
  7.      shell> scripts/mysql_install_db --user=mysql
  8.      shell> chown -R root  .
  9.      shell> chown -R mysql data
  10.      shell> chgrp -R mysql .
  11.      shell> bin/mysqld_safe --user=mysql &
复制代码

实际操作:

  1.      groupadd mysql
  2.      useradd -g mysql mysql
  3.      cd /usr/local
  4.      tar zxf /root/lamp/mysql*
  5.      ln -s mysql* mysql
  6.      cd mysql
  7.      scripts/mysql_install_db --user=mysql
  8.      chown -R root  .
  9.      chown -R mysql data
  10.      chgrp -R mysql .
  11.      bin/mysqld_safe --user=mysql &
复制代码
   

3.2 apache+php
以下步骤源于php安装文档 http://www.php.net/manual/zh/install.unix.apache2.php
原文档内容:

  1. 1.  gzip -d httpd-2_0_NN.tar.gz
  2. 2.  tar xvf httpd-2_0_NN.tar
  3. 3.  gunzip php-NN.tar.gz
  4. 4.  tar -xvf php-NN.tar
  5. 5.  cd httpd-2_0_NN
  6. 6.  ./configure --enable-so
  7. 7.  make
  8. 8.  make install

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

  14. 9.  cd ../php4-NN

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

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

  21. 11. make
  22. 12. make install

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

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

  27. 13. 配置 php.ini

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

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

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

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

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

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

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

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

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

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

  45. 16. 启动 Apache 服务器:
  46.    /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 用得很笨,不要深究。
发表于 2006-2-16 17:05:59 | 显示全部楼层
不错。不过如果能研究一下其他的软件的话,会更好。。比如什么 ntop,sarg什么的。。。
回复 支持 反对

使用道具 举报

发表于 2006-2-17 21:38:18 | 显示全部楼层
最近LFS版好不熱鬧啊,連Server兄也出來冒泡了

Btw,Server兄可有打算再做一張SVN 的成品安裝盤?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表