LAMP 是指 Linux + Apache + MySQL + PHP 这个组合。本文将介绍在 CentOS 6.5 上编译安装 LAMP 环境及相关错误的解决方法。
系统环境- 操作系统:CentOS 6.5 x86_64
- 版本说明:Minimal Installation
- 更新软件包列表
sh
yum update
- 安装必要的软件包
sh
yum install gcc gcc-c++ make automake autoconf libtool gd gd-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers expat expat-devel libmcrypt libmcrypt-devel libtidy libtidy-devel libxslt libxslt-devel libxml2 libxml2-devel sqlite sqlite-devel
- 安装可选的软件包
sh
yum install vim-enhanced git
- 下载 Apache 的源码包,并解压缩
sh
curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.46.tar.gz
tar xf httpd-2.4.46.tar.gz
- 进入解压后的目录,并进行编译和安装
sh
cd httpd-2.4.46
./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all
make
make install
- 启动 Apache
sh
/usr/local/apache2/bin/apachectl start
- 检查安装是否成功
在浏览器中输入 http://服务器 ip 地址
,看是否能看到 “It works!” 的字样。
- 下载 MySQL 的源码包,并解压缩
sh
curl -O https://downloads.mysql.com/archives/get/p/23/file/mysql-5.5.62.tar.gz
tar xf mysql-5.5.62.tar.gz
- 进入解压后的目录,并进行编译和安装
sh
cd mysql-5.5.62
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=/usr/local/mysql-5.5/data -DMYSQL_TCP_PORT=3306 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system
make
make install
- 创建 MySQL 数据库和用户
sh
useradd mysql -s /bin/false
mkdir /usr/local/mysql-5.5/data
chown -R mysql:mysql /usr/local/mysql-5.5/data/
/usr/local/mysql-5.5/scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql-5.5/data
chown -R root:mysql /usr/local/mysql-5.5/
chown -R mysql:mysql /usr/local/mysql-5.5/data/
cp /usr/local/mysql-5.5/support-files/my-medium.cnf /etc/my.cnf
sed -i 's/^\(datadir\s*=\s*\).*$/\1\/usr\/local\/mysql-5.5\/data/' /etc/my.cnf
/usr/local/mysql-5.5/bin/mysqladmin --user=root password 'newpassword'
- 启动 MySQL
sh
/usr/local/mysql-5.5/bin/mysqld_safe --user=mysql &
- 检查安装是否成功
sh
/usr/local/mysql-5.5/bin/mysql -uroot -p
Enter password: newpassword
Welcome to the MySQL monitor.
- 下载 PHP 的源码包,并解压缩
sh
curl -O https://www.php.net/distributions/php-5.6.40.tar.gz
tar xf php-5.6.40.tar.gz
- 进入解压后的目录,并进行编译和安装
sh
cd php-5.6.40
./configure --prefix=/usr/local/php-5.6 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/local/mysql-5.5/bin/mysql_config --enable-mbstring --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-zlib-dir --with-libxml-dir=/usr --with-config-file-path=/usr/local/php-5.6/etc --with-curl --with-bz2 --with-openssl --with-pdo-mysql=/usr/local/mysql-5.5 --enable-dom --enable-xml --enable-zip --enable-fpm --enable-opcache
make
make install
- 修改 PHP 配置文件
sh
cp php.ini-production /usr/local/php-5.6/etc/php.ini
sed -i 's/^\(memory_limit\s*=\s*\).*$/\1128M/' /usr/local/php-5.6/etc/php.ini
sed -i 's/^\(post_max_size\s*=\s*\).*$/\110M/' /usr/local/php-5.6/etc/php.ini
sed -i 's/^\(upload_max_filesize\s*=\s*\).*$/\125M/' /usr/local/php-5.6/etc/php.ini
- 启动 PHP-FPM
sh
/usr/local/php-5.6/sbin/php-fpm
创建一个 PHP 文件 /usr/local/apache2/htdocs/testphp.php
,内容如下:
<?php
phpinfo();
?>
在浏览器中访问 http://服务器 ip 地址/testphp.php
,看是否能正常显示 PHP 的信息页面。
- 在编译安装 MySQL 时,可能会遇到以下错误:
sh
make[2]: *** [my_pthread.h] Error 1
解决方法:执行以下命令,然后重新编译安装 MySQL。
sh
yum install libaio
- 在编译安装 PHP 时,可能会遇到以下错误:
sh
checking whether to enable BC math support... yes
checking for the location of libjpeg... no
configure: WARNING: --with-jpeg-dir requires libjpeg.
解决方法:执行以下命令,然后重新编译安装 PHP。
sh
yum install libjpeg-devel
在配置 PHP 时,加上 --with-jpeg-dir=/usr/lib64
参数即可。
至此,LAMP 环境的编译安装已经完成。如果您遇到了其他问题,可以在评论区留言。