- A+
LAMP是目前最稳定的Web应用程序平台之一,Linux、Apache、Mysql、PHP,它们都是各自独立的程序,熟悉配置各程序对于网站管理员来说是很有必要的。之前已分享过LNMP的编译教程,使用的都是较新版本的程序,今天分享一篇使用较低版本的程序来编译搭建LAMP,适合硬件配置较低的服务器使用。
实验环境 |
实验平台:VMware虚拟机
操作系统:CentOS 6.5 / Windows10
服务端IP:192.168.168.200
客户端IP:192.168.168.201
MySQL:5.1.72
Apache:2.2.31
PHP:5.3.29
服务端篇 |
第一步 准备工作
禁用SElinux
- [root@Wanghualang ~]# setenforce 0
- [root@Wanghualang ~]# sed -ri 's#^(SELINUX=).*#\1disabled#g' /etc/selinux/config
禁用防火墙
- [root@Wanghualang ~]# service iptables stop
- [root@Wanghualang ~]# service ip6tables stop
- [root@Wanghualang ~]# chkconfig iptables off
- [root@Wanghualang ~]# chkconfig ip6tables off
安装常用软件
- [root@Wanghualang ~]# yum -y install wget vim
第二步 安装MySQL
新建MySQL用户和用户组
- [root@Wanghualang ~]# groupadd mysql
- [root@Wanghualang ~]# useradd -M mysql -s /sbin/nologin -g mysql
精简版的操作系统,在接下来的configure阶段肯定会出现缺失相关开发包的报错,根据提示安装相关开发包即可。教程中为了做到一气呵成,先提前安装好需要的开发包。
- [root@Wanghualang ~]# yum -y install gcc gcc-c++ ncurses-devel
编译安装软件,数据库启动用户设置为mysql,程序安装目录设置为/usr/local/mysql,数据存放路径设置为/usr/local/mysql/data。
- [root@Wanghualang ~]# cd /usr/local/src/
- [root@Wanghualang src]# wget --no-check-certificate https://cdn.mysql.com/archives/mysql-5.1/mysql-5.1.72.tar.gz
- [root@Wanghualang src]# tar xzf mysql-5.1.72.tar.gz
- [root@Wanghualang src]# cd mysql-5.1.72
- [root@Wanghualang mysql-5.1.72]# ./configure --prefix=/usr/local/mysql --datadir=/usr/local/mysql/data --with-mysqld-user=mysql --with-charset=utf8 --with-extra-charsets=all --with-plugins=all --enable-local-infile
- [root@Wanghualang mysql-5.1.72]# make
- [root@Wanghualang mysql-5.1.72]# make install
创建配置文件,建议先删除系统默认创建的MySQL配置文件,再拷贝新的配置文件。
- [root@Wanghualang ~]# rm -rf /etc/my.cnf
- [root@Wanghualang ~]# cp -rf /usr/local/src/mysql-5.1.72/support-files/my-huge.cnf /etc/my.cnf
配置命令环境变量
- [root@Wanghualang ~]# echo "export PATH="/usr/local/mysql/bin:$PATH"" >> /etc/profile
- [root@Wanghualang ~]# source /etc/profile
初始化数据库
- [root@Wanghualang ~]# /usr/local/src/mysql-5.1.72/scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
配置服务启动脚本
- [root@Wanghualang ~]# cp -rf /usr/local/src/mysql-5.1.72/support-files/mysql.server /etc/init.d/mysqld
- [root@Wanghualang ~]# chmod 755 /etc/init.d/mysqld
- [root@Wanghualang ~]# chkconfig --add mysqld
- [root@Wanghualang ~]# chkconfig mysqld on
- [root@Wanghualang ~]# vim /etc/init.d/mysqld
大约在第46行,找到:
- basedir=
- datadir=
填写实际的安装目录和数据目录,最终修改为:
- basedir=/usr/local/mysql
- datadir=/usr/local/mysql/data
启动服务
- [root@Wanghualang ~]# service mysqld start
扩展阅读展开
第三步 安装Apache
新建Apache用户和用户组
- [root@wanghualang ~]# groupadd apache
- [root@wanghualang ~]# useradd -M apache -s /sbin/nologin -g apache
编译安装软件
- [root@wanghualang ~]# cd /usr/local/src
- [root@wanghualang src]# wget --no-check-certificate http://archive.apache.org/dist/httpd/httpd-2.2.31.tar.gz
- [root@wanghualang src]# tar xzf httpd-2.2.31.tar.gz
- [root@wanghualang src]# cd httpd-2.2.31
- [root@wanghualang httpd-2.2.31]# ./configure --prefix=/usr/local/apache --with-pcre --enable-so
- [root@wanghualang httpd-2.2.31]# make
- [root@wanghualang httpd-2.2.31]# make install
配置服务启动脚本
- [root@wanghualang ~]# cp -rf /usr/local/apache/bin/apachectl /etc/init.d/httpd
- [root@wanghualang ~]# chmod 755 /etc/init.d/httpd
- [root@wanghualang ~]# sed -i '1i\#chkconfig:345 85 15' /etc/init.d/httpd
- [root@wanghualang ~]# chkconfig --add httpd
- [root@wanghualang ~]# chkconfig httpd on
配置启动用户和用户组
- [root@wanghualang ~]# sed -i 's/User daemon/User apache/' /usr/local/apache/conf/httpd.conf
- [root@wanghualang ~]# sed -i 's/Group daemon/Group apache/' /usr/local/apache/conf/httpd.conf
配置ServerName,这个不管也没问题。但如果不修改,启动的时候可能会有一个相关提示,推荐强迫症患者修改。
- [root@wanghualang ~]# sed -i 's/#ServerName www.example.com:80/ServerName localhost.localdomain/' /usr/local/apache/conf/httpd.conf
第四步 安装PHP
精简版的操作系统,在接下来的configure阶段肯定会出现缺失相关开发包的报错,根据提示安装相关开发包即可。教程中为了做到一气呵成,先提前安装好需要的开发包。注意,最末尾的libmcrypt-devel比较特别,RHEL/CentOS默认的Yum源不包含这个软件包,需要安装第三方epel源才能安装。
- [root@Wanghualang ~]# yum -y install libxml2-devel openssl-devel bzip2-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
编译安装软件
- [root@Wanghualang ~]# cd /usr/local/src/
- [root@Wanghualang src]# wget --no-check-certificate http://cn2.php.net/distributions/php-5.3.29.tar.gz
- [root@Wanghualang src]# tar xzf php-5.3.29.tar.gz
- [root@Wanghualang src]# cd php-5.3.29
- [root@Wanghualang php-5.3.29]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
- [root@Wanghualang php-5.3.29]# make
- [root@Wanghualang php-5.3.29]# make install
第五步 配置Apache解析PHP
- [root@Wanghualang ~]# vim /usr/local/apache/conf/httpd.conf
大约在第116行,找到:
- <Directory />
- Options FollowSymLinks
- AllowOverride None
- Order deny,allow
- Deny from all
- </Directory>
把Deny from all修改为Allow from all,最终修改如下:
- <Directory />
- Options FollowSymLinks
- AllowOverride None
- Order deny,allow
- Allow from all
- </Directory>
大约在第167行,找到:
- <IfModule dir_module>
- DirectoryIndex index.html
- </IfModule>
在index.html后面新增index.php,注意之间有一个空格键,最终修改如下:
- <IfModule dir_module>
- DirectoryIndex index.html index.php
- </IfModule>
大约在第309行,找到:
- AddType application/x-compress .Z
- AddType application/x-gzip .gz .tgz
在下面添加一行AddType application/x-httpd-php .php,最终修改如下:
- AddType application/x-compress .Z
- AddType application/x-gzip .gz .tgz
- AddType application/x-httpd-php .php
启动服务
- [root@wanghualang ~]# service httpd start
第六步 新建测试页
新建一个简单的PHP测试网页
- [root@Wanghualang ~]# vim /usr/local/nginx/html/wanghualang.php
红字部分为代码内容:
- <?php
- phpinfo();
- ?>
客户端篇 |
使用浏览器访问测试网页:http://192.168.168.200/wanghualang.php,若能看到PHP相关程序信息,表示配置成功!