CentOS7配置LAMP环境(PHP7.3.6+maraidb10.3+Apache2.4.39)源码安装超详细步骤

作者搭建环境笔记,命令都已亲测更新。

先增加xrdp远程连接,这样就可以远程到图形界面了

http://blog.lxfamn.cn/?p=3074

最近出于对linux服务器的学习,在安装配置的过程中遇到了各种问题,也上网看了许多相关文章,现在终于弄好了,特写此教程向大家分享,也为自己留下学习笔记。

本次配置参考了上面链接中的安装步骤,经过两次验证,第一次安装在了windowserver架设的vm虚拟服务器中,第二次安装在阿里云服务器中。经过2次的折腾,也使自己对cenos,php,apache2

有了更深入的了解,生命不息,折腾不止。

注:如果系统之前已配置过LAMP运行环境,记得先将之前的版本卸载,防止安装过程中出现各种莫名其妙的问题,本教程为全新的CentOS7.4。

【服务器配置】

配置网络参数,为服务器分配静态ip方便远程登录管理。(这一步如果有图形界面的话可以直接在图形界面操作,不过有的默认没有启用

 1 [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
 2 TYPE="Ethernet"
 3 BOOTPROTO="static"
 4 IPADDR="192.168.43.171"
 5 NETMASK="255.255.255.0"
 6 GATEWAY="192.168.43.1"
 7 NM_CONTROLLED=no
 8 DEFROUTE="yes"
 9 IPV4_FAILURE_FATAL="no"
10 IPV6INIT="yes"
11 IPV6_AUTOCONF="yes"
12 IPV6_DEFROUTE="yes"
13 IPV6_FAILURE_FATAL="no"
14 IPV6_ADDR_GEN_MODE="stable-privacy"
15 NAME="ens33"
16 UUID="f52d1397-768e-426c-9a29-9b80600cb181"
17 DEVICE="ens33"
18 ONBOOT="yes"

重启网络服务

1 [root@localhost ~]# systemctl restart network.service

此时可通过 ip addr  命令查看当前网络配置,然后 ping 网关是通的, ping 百度域名www.baidu.com又不通,原因在于没有配置dns

修改配置文件,添加dns参数

1 [root@localhost ~]# vi /etc/NetworkManager/NetworkManager.conf
2 dns=none

修改resolv.conf,添加dns配置

1 [root@localhost ~]# vi /etc/resolv.conf 
2 nameserver 192.168.43.1

此时再次 ping 百度域名www.baidu.com就能正常返回数据了。

开放防火墙端口(SSH远程连接22端口)

1 [root@localhost ~]# firewall-cmd --zone=public --add-port=22/tcp --permanent

重启防火墙服务

1 [root@localhost ~]# systemctl restart firewalld.service

安装 vim

1 [root@localhost ~]# yum install vim -y

安装 wget

1 [root@localhost ~]# yum install wget -y

 

【安装Apache】

(2019/06/02更改httpd版本2.4.39)

(2019/06/02更改pcre2版本8.43)

(2019/06/02更改apr版本1.7.0)

下载 apache 及相关组件 apr、apr-util、pcre

1 [root@localhost ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.39.tar.gz
2 [root@localhost ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.7.0.tar.gz
3 [root@localhost ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
4 [root@localhost ~]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.43.tar.gz

安装编译所需工具及依赖库

1 [root@localhost ~]# yum install gcc gcc++ gcc-c++ libxml2 libxml2-devel expat-devel -y

解包并做相关配置

1 [root@localhost ~]# tar -zxvf httpd-2.4.39.tar.gz
2 [root@localhost ~]# tar -zxvf apr-1.7.0.tar.gz
3 [root@localhost ~]# tar -zxvf apr-util-1.6.1.tar.gz
4 [root@localhost ~]# tar -zxvf pcre-8.43.tar.gz
5 [root@localhost ~]# mv apr-1.7.0 apr
6 [root@localhost ~]# mv apr-util-1.6.1 apr-util
7 [root@localhost ~]# mv apr apr-util httpd-2.4.39/srclib
安装 pcre
1 [root@localhost ~]# cd pcre-8.43
2 [root@localhost pcre-*]# ./configure --prefix=/usr/local/pcre8
3 [root@localhost pcre-*]# make
4 [root@localhost pcre-*]# make install

开始 apache 编译配置,完成后执行安装

1 [root@localhost ~]# cd httpd-2.4.39
2 [root@localhost httpd-*]# ./configure --prefix=/usr/local/apache2 -with-pcre=/usr/local/pcre8/bin/pcre-config -with-included-apr
3 [root@localhost httpd-*]# make
4 [root@localhost httpd-*]# make install

开放防火墙端口并重启防火墙服务(HTTP协议80端口)

1 [root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
2 [root@localhost ~]# systemctl restart firewalld.service

添加 apache 开机启动服务

 1 [root@localhost ~]# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
 2 [root@localhost ~]# vim /etc/init.d/httpd
 3 
 4 在在#!/bin/sh后面加入下面两行
 5 #chkconfig:345 85 15
 6 #description: Start and stops the Apache HTTP Server.
 7 
 8 [root@localhost ~]# chmod +x /etc/rc.d/init.d/httpd
 9 [root@localhost ~]# chkconfig --add httpd
10 [root@localhost ~]# chkconfig httpd on
查看服务是否添加成功,启动 apache 服务
1 [root@localhost ~]# chkconfig --list httpd
2 [root@localhost ~]# systemctl start httpd.service

此时在浏览器中输入对应ip地址,将显示如下提示,表示Apache已经开始正常工作

It works!

设置Apache支持PHP

 1 [root@localhost ~]# vim /usr/local/apache2/conf/httpd.conf
 2 找到<IfModule unixd_module>  在该行前面添加  LoadModule php7_module modules/libphp7.so
   搜索x-compress添加内容
 4 AddType application/x-httpd-php .php
 5 AddType application/x-httpd-php-source .php5
 6 
 7 接着找到
 8 <IfModule dir_module>
 9     DirectoryIndex index.html
10 </IfModule>
11 修改为
12 <IfModule dir_module>
13     DirectoryIndex index.html index.php
14 </IfModule>
15 
16 找到
17 DocumentRoot "/usr/local/apache2/htdocs"
18 <Directory "/usr/local/apache2/htdocs">
19 修改为
20 DocumentRoot "/home/www"
21 <Directory "/home/www">
22 此处 /home/www 为你自定义的网站根目录,设置效果如图片-2

 

保存退出后创建网站根目录

1 [root@localhost ~]# mkdir /home/www

重启Apache服务

1 [root@localhost ~]# systemctl restart httpd.service

注意:此时Apache重启后仍然无法解析php,原因为 modules/libphp7.so 文件不存在,当安装完PHP后就能正常解析。

【安装PHP】

为了避免后期麻烦的编译安装或者出现的额问题,作者在安装过程中尽量安装所有功能,所以需要提前安装一些扩展,然后再编译

首先安装openssl

yum install openssl

yum install openssl-devel

  1. 安装curl
  2. wget https://curl.haxx.se/download/curl-7.53.0.tar.gz
    tar zxvf curl-7.65.0.tar.gz##如果选择的是tar.bz2版本 解压使用 tar -jxvfcd curl-7.65.0
    ./configure --prefix=/usr/local/curl7
    (如果有错,提示没有c相关的编译器,执行#yum install gcc命令)
    make
    make install
  3. 接下来一堆莫名其妙插件,装就是了
  4. yum install libpng

    yum install libpng-devel

yum install freetype-devel

yum install libxslt-devel* -y

下面两个安装

http://blog.lxfamn.cn/?p=3699

http://blog.lxfamn.cn/?p=3702

下载 php 并解包 即可安装7.3.0版本

1 [root@localhost ~]# wget http://am1.php.net/get/php-7.3.0.tar.gz/from/this/mirror
2 [root@localhost ~]# tar -zxvf mirror

切换至解包好的目录并执行编译配置(--enable-fpm 是为了配合能使用 nginx)

1 [root@localhost ~]# cd php-7.3.0/
2 [root@localhost php-7.3.0]# ./configure --prefix=/usr/local/php7 --enable-fpm --with-apxs2=/usr/local/apache2/bin/apxs

编译配置完成后执行编译,最后执行安装

1 [root@localhost php-7.3.0]# make
2 [root@localhost php-7.3.0]# make install

此时重启Apache后即可在 /home/www 目录中自行创建php文件进行测试访问

vi /etc/yum.repos.d/MariaDB.repo

添加如下内容

开放防火墙端口并重启防火墙服务(MySQL服务3306端口)

 

 

[mariadb]name = MariaDB

baseurl = http://mirrors.aliyun.com/mariadb/yum/10.3/centos7-amd64/

gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB

gpgcheck = 1

保存退出 开始yum安装yum -y install MariaDB-server MariaDB-client
安装完成MariaDB,首先启动MariaDB

systemctl start mariadb
设置开机启动

systemctl enable mariadb
接下来进行MariaDB的相关简单配置

mysql_secure_installation
首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

设置密码

Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码

其他配置

Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,

Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

初始化MariaDB完成,接下来测试登录

mysql -uroot -ppassword
完成。

开放防火墙端口并重启防火墙服务(MySQL服务3306端口)

1 [root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
2 [root@localhost ~]# systemctl restart firewalld.service

此时就可以通过其他计算机远程连接到此服务器的MySQL数据库啦~

源码安装就是比较复杂点,现在整个服务器的LAMP运行环境已全部安装完毕 ^_^

值得注意的是MySQL的安装比较复杂易错,注意目录所属用户和组的设置转载请注明出处:

转载自http://lxfamn.cn/blog

未经允许不得转载:lxfamn » CentOS7配置LAMP环境(PHP7.3.6+maraidb10.3+Apache2.4.39)源码安装超详细步骤

赞 (0) 打赏

置顶推荐

评论 0

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏