原文大多内容转载自:http://blog.csdn.net/dglxsong/article/details/52075918,版本修改为楼主自己版本,并且进行相应版本细节修改
centos-7.2 + apache-2.4.25 + mysql-5.7.17 + php-5.6.30 + phpMyAdmin-4.6.5.2
这是我在一台新装的centos7.2阿里云ECS服务器上搭建的lamp环境流程,目的是搭建一个当前最新版的lamp测试环境,以下流程仅供参考。
准备
1、创建我存放源码包的文件夹
mkdir -p /projects/lamp
2、查看gcc是否安装
gcc -v
提示:如未安装,则进行yum安装
yum install -y gcc gcc-c++
3、安装vim编辑器
yum install -y vim
安装apache
(一)安装apr
1、切换到源码目录
cd /projects/lamp
2、下载apr包
wget http://apache.fayea.com/apr/apr-1.5.2.tar.gz
3、安装apr包需要的扩展
yum install -y autoconf libtool
4、解压、配置、编译、安装
tar -xzvf apr-1.5.2.tar.gz cd apr-1.5.2 ./buildconf ./configure --prefix=/usr/local/apr make&& make install
问题1:如果./configure遇到‘executing libtool commands rm: cannot remove 'libtoolT': No such file ordirectory’
解决:
打开configure文件
vim configure
找到$RM "$cfgfile"所在行,然后添加#号注释掉此行保存并退出
(二)安装apr-util
1、切换到源码目录
cd /projects/lamp/
2、下载apr-until包
wget http://apache.fayea.com/apr/apr-util-1.5.4.tar.gz
3、解压、配置、编译、安装
tar -xzvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make&& make install
(三)安装pcre包
1、切换到源码目录
cd /projects/lamp/
2、下载pcre包
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.zip
3、安装解压工具unzip
yum install -y unzip
4、解压、配置、编译、安装
unzip pcre-8.39.zip cd pcre-8.39 ./configure --prefix=/usr/local/pcre make&& make install
(四)安装apache
1、切换到源码目录
cd /projects/lamp/
2、下载apache
wget http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.25.tar.bz2
3.1、安装解压工具tar.bz2
yum install -y bzip2
3.2、解压、配置、编译、安装
tar -xvjf httpd-2.4.25.tar.bz2 cd httpd-2.4.25 ./configure \ --prefix=/usr/local/apache \ --with-apr=/usr/local/apr \ --with-apr-util=/usr/local/apr-util/bin/apu-1-config \ --with-pcre=/usr/local/pcre \ --enable-so \ --enable-rewrite make&& make install
4、配置apache
切换到配置文件目录
cd /usr/local/apache/conf
vim打开配置文件
vim httpd.conf
去掉ServerName前的注释,修改为localhost:80
5、启动apache服务
/usr/local/apache/bin/apachectl start
6、查看apache是否安装成功
curl localhost
提示:如返回It works页面,则安装成功
安装mysql
提示:因为centos7.2默认安装了mariadb-libs,所以先要卸载掉
查看是否安装mariadb
rpm -qa | grep mariadb
卸载mariadb(注意检查依赖,判断是否可以强制删除)
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
1、切换到源码目录
cd /projects/lamp
2、下载所需的rpm包
wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-common-5.7.17-1.el7.x86_64.rpm wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-libs-5.7.17-1.el7.x86_64.rpm wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-client-5.7.17-1.el7.x86_64.rpm wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-server-5.7.17-1.el7.x86_64.rpm
3、安装需要的扩展库
yum install -y libaio //安装server时需要
4、安装
rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm --nosignature rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm --nosignature rpm -ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm --nosignature rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm --nosignature
提示:加上--nosignature是为了防止报签名错误
5、初始化
切换到mysql的bin目录
cd /usr/bin
初始化mysql
mysqld --initialize-insecure --user=mysql
提示:-insecure设置root密码为空
修改mysql文件所有者(报找不到mysql.sock错误时需修改)
chown mysql:mysql -R /var/lib/mysql
启动mysqld
systemctl start mysqld
添加root用户密码
mysqladmin -u root password 密码
登录mysql
mysql -u root -p
设置mysql远程连接
grant all privileges on *.* to 'root'@'%' identified by 'MIRROR235mysql' with grant option; //root 是用户名,% 表示任意主机,'123456' 指定的登录密码(这个和本地的root密码可以设置不同,互不影响) flush privileges; //重载系统权限
退出
quit
安装php
1、切换到源码目录
cd /projects/lamp
2、下载源码包
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
3、安装所需的扩展库
yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
4、解压、配置、编译、安装
tar -zvxf php-5.6.30.tar.gz cd php-5.6.30 ./configure --help # 查看配置参数,因为每个版本的配置参数不一样 ./configure \ --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --with-apxs2=/usr/local/apache/bin/apxs \ --enable-mb \ --enable-bcmath \ --enable-mbstring \ --enable-sockets \ --with-curl \ --enable-ftp \ --enable-sockets \ --disable-ipv6 \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-freetype-dir \ --enable-gd-native-ttf \ --with-iconv-t \ --with-zlib \ --with-pdo-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-mysql=mysqlnd \ --enable-dom \ --enable-xml \ --enable-fpm make&& make install
5、配置php.ini
添加配置文件
cp /projects/lamp/php-5.6.30/php.ini-production /usr/local/php/lib/php.ini
提示:因我configure时未指定配置文件位置,系统默认位置在/usr/local/php/lib下面
让apache支持php
编辑httpd.conf
vim /usr/local/apache/conf/httpd.conf
找到DirectoryIndex,在index.html后添加
index.php
找到AddType,在之后添加一行
AddType application/x-httpd-php .php
重启apache
/usr/local/apache/bin/apachectl -k restart
6、测试
切换到apache默认的文档根目录
cd /usr/local/apache/htdocs/
新增一个index.php
vim index.php
写入内容:
保存并退出
删除index.html
rm -f index.html测试能否访问到index.php
curl localhost提示:如打印出phpinfo页面则安装成功
7、安装动态扩展(以下两个扩展在用phpMyAdmin访问数据库时会用到)
例1、安装php的gettext扩展
切换到php源码包的gettext扩展目录
cd /projects/lamp/php-5.6.30/ext/gettext/
执行phpize
/usr/local/php/bin/phpize配置、编译、安装
./configure --with-php-config=/usr/local/php/bin/php-config --with-gettext make&& make install修改php.ini添加扩展
打开php.ini
vim /usr/local/php/lib/php.ini文件最后添加一行
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/gettext.so
提示:如未改动过扩展默认目录配置,可直接写成extension=gettext.so,其他扩展同理。
重启apache使配置生效
/usr/local/apache/bin/apachectl -k restart例2、安装php的mbstring扩展
切换到php源码包的mbstring扩展目录
cd /projects/lamp/php-5.6.30/ext/mbstring/
执行phpize
/usr/local/php/bin/phpize
配置、编译、安装
./configure --with-php-config=/usr/local/php/bin/php-config --enable-mbstring make&& make install
修改php.ini添加扩展
打开php.ini
vim /usr/local/php/lib/php.ini文件最后添加一行
extension=mbstring.so
重启apache使配置生效
/usr/local/apache/bin/apachectl -k restart
安装phpMyAdmin
1、切换到源码目录
cd /projects/lamp/2、下载
wget https://files.phpmyadmin.Net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.tar.gz3、解压
tar -zvxf phpMyAdmin-4.6.5.2-all-languages.tar.gz4、复制解压后文件到apache网站根目录pma文件夹下
cp -fr phpMyAdmin-4.6.5.2-all-languages /usr/local/apache/htdocs/pma5、浏览器输入IP地址/pma访问
问题1:访问时如提示缺少mysqli扩展,添加mysqli扩展
解决:动态添加php的mysqli扩展
切换到php源码包的mysqli扩展目录
cd /projects/lamp/php-5.6.30/ext/mysqli/
执行phpize
/usr/local/php/bin/phpize
配置
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=mysqlnd
编译安装
make && make install
修改php.ini添加扩展
打开php.ini
文件最后添加一行
extension=mbstring.so
重启apache
/usr/local/apache/bin/apachectl -k restart
问题2:提示‘mysqli_real_connect():(HY000/2002): 没有那个文件或目录’错误
解决:
修改php.ini
打开php.ini
vim /usr/local/php/lib/php.ini修改pdo_mysql.default_socket=/var/lib/mysql/mysql.sock(mysql.sock地址)
修改mysqli.default_socket =/var/lib/mysql/mysql.sock
重启apache
/usr/local/apache/bin/apachectl -k restart
如果还不行:
修改mysql.default_socket =/var/lib/mysql/mysql.sock
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
重启apache
/usr/local/apache/bin/apachectl -k restart
后续
1、将apache命令加入到环境变量中
打开profile文件
vim /etc/profile
文件最后添加一行
PATH=/usr/local/apache/bin:$PATH
使配置生效
source /etc/profile
2、设置httpd开机自启
切换到系统service目录
cd /lib/systemd/system新建一个httpd.service文件
vim httpd.service写入如下数据:
[Unit] Description=ApacheServer After=network.target [Install] WantedBy=multi-user.target [Service] Type=forking ExecStart=/usr/local/apache/bin/apachectl-k start ExecReload=/usr/local/apache/bin/apachectl-k restart ExecStop=/usr/local/apache/bin/apachectl-k stop PrivateTmp=true保存并退出
设置httpd.service开机自启
systemctl enable httpd.service重启电脑
shutdown -r now查看是否自启
ps -ef | grep httpd