CentOS7.3 编译搭建 lamp 环境

前言
本人平时大都使用lnmp一键搭建,很少使用apache,最近公司需要搭建lamp环境,要求编译安装,遇到了很多问题,记录一下,希望不会忘记
环境搭建时参考
(https://blog.csdn.net/qq_42195688/article/...)
(https://www.cnblogs.com/wdjsbk/p/9629931.h...)
开始搭建
起手式 yum update
刚开始就遇到问题了,不知什么原因yun无法安装任何东西
查了很多资料最后发现是yum源出了问题
最后使用阿里云的yum源
还有就是编译php时多编译了几次,扩展不同,导致问题,需要make clean

cd  /etc/yum.repos.d  #yum全都在这个文件夹下
mkdir a    #创建文件夹备份原来的源
mv ./C*  a/    #因为我那里只有一个yum源并且还没有配置,直接使用的阿里云的
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #下载阿里云yum源
#楼主没有修改版本  修改成自己的版本 参考 https://www.cnblogs.com/wdjsbk/p/9629931.html 

搞完yum源开始安装

yum update

部署LAMP

本文操作的镜像和软件版本说明如下 :

操作系统:CentOS 7.3 64位
Apache:2.4.39
MySQL:5.7.26
PHP:7.2.17
准备工作

设置防火墙

关闭firewalld放行80、22等端口。
运行命令关闭防火墙。
systemctl stop firewalld.service
运行命令关闭防火墙开机自启动。
systemctl disable firewalld.service

安装vim和unzip

#下载软件用于编辑和解压缩文件。运行命令:
yum install -y vim unzip

操作步骤
(安装软件时建议看下手册,上面清楚的写着软件需要哪些依赖包)
1.运行命令安装相关依赖包。

yum install -y gcc gcc-c++ autoconf libtool
cd /usr/local/src    #我将软件都安装在这个文件夹内

wget https://www-us.apache.org/dist//apr/apr-1.7.0.tar.gz #apr
wget https://www-us.apache.org/dist//apr/apr-util-1.6.1.tar.gz #apr-util
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz  #pcre
wget https://www-eu.apache.org/dist//httpd/httpd-2.4.39.tar.gz 

2.解压 编译安装

tar zxvf apr-1.7.0.tar.gz
tar zxvf apr-util-1.6.1.tar.gz
tar zxvf pcre-8.43.tar.gz
tar zxvf httpd-2.4.39.tar.gz 

#安装apr
cd apr-1.7.0
./configure --prefix=/usr/local/apr
make && make install

#安装apr-util
 cd /usr/local/src/apr-util-1.6.1
 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
 make && make install

# 安装pcre
cd /usr/local/src/pcre-8.43
./configure --prefix=/usr/local/pcre
make && make install

#安装apache
cd 、usr/local/src/httpd-2.4.39
./configure \
--prefix=/usr/local/apache --sysconfdir=/etc/httpd \
--enable-so --enable-cgi --enable-rewrite \
--with-zlib --with-pcre=/usr/local/pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-mods-shared=most --enable-mpms-shared=all \
--with-mpm=event
make && make install

#修改httpd.conf配置文件参数:
cd /etc/httpd/  #切换到/etc/httpd/目录。
vim httpd.conf  #打开httpd.conf文件,按 i 键进入编辑模式。
#找到 Directory 参数,注释掉 Require all denied,并添加 Require all granted。
#找到 ServerName 参数,添加 ServerName localhost:80
#设置 PidFile 路径:在文件最后添加 PidFile "/var/run/httpd.pid"。
# 按 Esc 键退出编辑模式,输入 :wq 保存并关闭 httpd.conf 文件

 #依次执行以下命令启动Apache服务并验证。

cd /usr/local/apache/bin/
./apachectl start
netstat -tnlp #查看服务是否开启
#在本地机器的浏览器中输入ECS实例公网IP地址,测试是否安装成功

# 设置开机自启动。

运行 vim /etc/rc.d/rc.local 打开rc.local文件,按 i 进入编辑模式。
添加 /usr/local/apache/bin/apachectl start。
#按 Esc 键退出编辑模式,输入 :wq 保存并关闭rc.local文件。

#设置环境变量。
 vi /root/.bash_profile 打开文件,按 i 进入编辑模式。
将 PATH=$PATH:$HOME/bin 修改为 PATH=$PATH:$HOME/bin:/usr/local/apache/bin。
#按 Esc 键退出编辑模式,输入 :wq 保存并关闭文件。
#运行 source /root/.bash_profile 重新执行文件。

2.编译安装mysql
依次执行以下命令检查系统中是否存在使用rpm安装的MySQL或者MariaDB。
rpm -qa | grep mysql
rpm -qa | grep mariadb
如果已经安装,则运行以下任一个命令删除。

rpm -e 软件名 #注意:这里的软件名必须包含软件的版本信息,如rpm -e mariadb-libs-5.5.52-1.el7.x86_64。一般使用此命令即可卸载成功。
rpm -e --nodeps 软件名 #卸载不成功时使用此命令强制卸载
卸载后,再用 rpm -qa|grep mariadb 或者 rpm -qa|grep mysql 查看结果。

依次运行以下命令安装 MySQL。

yum install -y libaio-* #安装依赖
mkdir -p /usr/local/mysql
cd /usr/local/src
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
tar -xzvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.26-linux-glibc2.12-x86_64/*  /usr/local/mysql/

#依次运行以下命令建立mysql组和用户,并将mysql用户添加到mysql组。
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql

#运行命令初始化MySQL数据库。
/usr/local/mysql/bin/mysqld --initialize-insecure --datadir=/usr/local/mysql/data/ --user=mysql

#更改MySQL安装目录的属性:chown -R mysql:mysql /usr/local/mysql。
#依次运行以下命令设置开机自启动。
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld # 添加执行权限
vim /etc/rc.d/rc.local
#在 rc.local 文件中添加 /etc/init.d/mysqld start。

#设置环境变量。
#运行 vi /root/.bash_profile 打开文件,按 i 进入编辑模式。
#将 PATH=$PATH:$HOME/bin:/usr/local/apache/bin 修改为 PATH=$PATH:$HOME/bin:/usr/local/apache/bin:/usr/local/mysql/bin:/usr/local/mysql/bin。
#说明:此处是在编译安装 Apache的环境变量的基础上再进行修改。
#按 Esc 键退出编辑模式,输入 :wq 保存并关闭文件。
#运行 source /root/.bash_profile 重新执行文件。
#启动 MySQL 数据库。
/etc/init.d/mysqld start

 
#修改MySQL的root用户密码:初始化后MySQL为空密码可直接登录,为了保证安全性需要修改MySQL的root用户密码。运行以下命令,并按界面提示设置密码。
mysqladmin -u root password
#测试登录MySQL数据库。
mysql -uroot -p #-p和密码之间无空格

步骤3. 编译安装 PHP
依次运行以下命令安装依赖。

yum install php-mcrypt libmcrypt libmcrypt-devel libxml2-devel openssl-devel libcurl-devel libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 libjpeg-turbo-devel libmcrypt-devel mysql-devel -y
wget https://www.php.net/distributions/php-7.2.17.tar.bz2
tar zxvf php-7.2.17.tar.gz
cd php-7.2.17
./configure \
--prefix=/usr/local/php \
--exec-prefix=/usr/local/php \
--bindir=/usr/local/php/bin \
--sbindir=/usr/local/php/sbin \
--includedir=/usr/local/php/include \
--libdir=/usr/local/php/lib/php \
--mandir=/usr/local/php/php/man \
--with-config-file-path=/usr/local/php/etc \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-mysqli=mysqlnd --with-openssl \
 --with-pdo-mysql=mysqlnd \
--with-mhash \
--with-openssl \
--with-mysqli=shared,mysqlnd \
--with-pdo-mysql=shared,mysqlnd \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-iconv \
--with-zlib \
--enable-zip \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-freetype-dir \
--enable-opcache \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--without-gdbm \
--disable-fileinfo
make && make install
运行命令复制配置文件。
cp php.ini-production /etc/php.ini
编辑Apache配置文件 httpd.conf,以Apache支持PHP。
运行 vim /etc/httpd/httpd.conf 打开文件,按 i 进入编辑模式。
在配置文件最后添加如下二行代码。
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
定位到 DirectoryIndex index.html,修改为 DirectoryIndex index.php index.html。
说明:如果文件中没有 DirectoryIndex index.html,则添加上述代码。

按 Esc 键退出编辑模式,输入 :wq 保存并关闭文件。
重启Apache服务:
/usr/local/apache/bin/apachectl restart
测试是否能够正常解析PHP。
依次运行以下命令,找开index.php文件。
cd /usr/local/apache/htdocs/
vim index.php
按 i 键进入编辑模式,并添加以下内容。
<?php
phpinfo();
?>
按 Esc 键退出编辑模式,并输入 :wq 保存并关闭文件。
重启Apache服务:
/usr/local/apache/bin/apachectl restart
在本地机器的浏览器里输入 http://实例公网 IP/index.php。

第一次写帖子,希望可以帮到其他人 ,发现问题,还会修改

 

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!