CentOS7源码编译搭建LAMP
2018-05-08 07:28:43   来源:   评论:0 点击:

文章来源:http: www wanghualang com centos7-make-lamp htmlLAMP是目前最稳定的Web应用程序平台之一,Linux、Apache、Mysql、PHP,它们都是各自独立的程序,熟悉配置各程序对于网站管理员来说是很有必要的,今
文章来源:http://www.wanghualang.com/centos7-make-lamp.html
LAMP是目前最稳定的Web应用程序平台之一,Linux、Apache、Mysql、PHP,它们都是各自独立的程序,熟悉配置各程序对于网站管理员来说是很有必要的,今天分享一篇使用较高版本的程序来编译搭建LAMP,适合硬件配置较高的服务器使用。

 

 实验环境

 

实验平台:VMware虚拟机

 

操作系统:CentOS 7.4 / Windows10

 

服务端IP:192.168.168.200

 

MySQL:5.7.21

 

Apache:2.4.33

 

PHP:7.2.3

 

 服务端篇

 

第一步 准备工作

 

禁用SElinux

 

 
  1. [root@Wanghualang ~]# setenforce 0  
  2. [root@Wanghualang ~]# sed -ri 's#^(SELINUX=).*#\1disabled#g' /etc/selinux/config  

 

禁用防火墙

 

  1. [root@Wanghualang ~]# systemctl stop firewalld.service  
  2. [root@Wanghualang ~]# systemctl disable firewalld.service  

 

安装常用软件

 

  1. [root@Wanghualang ~]# yum -y install wget vim  

 

第二步 安装Apache

 

新建Apache用户和用户组

 

  1. [root@Wanghualang ~]# groupadd apache  
  2. [root@Wanghualang ~]# useradd -M apache -s /sbin/nologin -g apache  

 

精简版的操作系统,在接下来的configure阶段肯定会出现缺失相关开发包的报错,根据提示安装相关开发包即可。教程中为了做到一气呵成,先提前安装好需要的开发包。

 

  1. [root@Wanghualang ~]# yum -y install make perl gcc gcc-c++ pcre-devel expat-devel  

 

编译安装软件

 

 
  1. [root@Wanghualang ~]# cd /usr/local/src/  
  2. [root@Wanghualang src]# wget --no-check-certificate http://mirrors.hust.edu.cn/apache//apr/apr-1.6.3.tar.gz  
  3. [root@Wanghualang src]# wget --no-check-certificate http://mirrors.hust.edu.cn/apache//apr/apr-util-1.6.1.tar.gz  
  4. [root@Wanghualang src]# wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.33.tar.gz  
  5. [root@Wanghualang src]# tar xzf apr-1.6.3.tar.gz  
  6. [root@Wanghualang src]# tar xzf apr-util-1.6.1.tar.gz   
  7. [root@Wanghualang src]# tar xzf httpd-2.4.33.tar.gz  
  8. [root@Wanghualang src]# mv apr-1.6.3 httpd-2.4.33/srclib/apr  
  9. [root@Wanghualang src]# mv apr-util-1.6.1 httpd-2.4.33/srclib/apr-util  
  10. [root@Wanghualang src]# cd httpd-2.4.33  
  11. [root@Wanghualang httpd-2.4.33]# ./configure  --prefix=/usr/local/apache  --enable-charset-lite  --enable-rewrite  --enable-cgi  --enable-so  
  12. [root@Wanghualang httpd-2.4.33]# make  
  13. [root@Wanghualang httpd-2.4.33]# make install  

 

更改网站目录属主、属组

 

  1. [root@Wanghualang ~]# chown -R apache:apache /usr/local/apache/htdocs/  

 

配置启动用户和用户组

 

  1. [root@Wanghualang ~]# sed -i 's/User daemon/User apache/' /usr/local/apache/conf/httpd.conf    
  2. [root@Wanghualang ~]# sed -i 's/Group daemon/Group apache/' /usr/local/apache/conf/httpd.conf   

 

配置ServerName,这个不管也没问题。但如果不修改,启动的时候可能会有一个相关提示,推荐强迫症患者修改。

 

  1. [root@Wanghualang ~]# sed -i 's/#ServerName www.example.com:80/ServerName localhost.localdomain/' /usr/local/apache/conf/httpd.conf  

 

配置服务启动脚本

 

  1. [root@Wanghualang ~]# cp -rf /usr/local/apache/bin/apachectl /etc/init.d/httpd    
  2. [root@Wanghualang ~]# chmod 755 /etc/init.d/httpd    
  3. [root@Wanghualang ~]# sed -i '1i\#chkconfig:345 85 15' /etc/init.d/httpd    
  4. [root@Wanghualang ~]# chkconfig --add httpd  

 

配置开机启动

 

 
  1. [root@Wanghualang-A ~]# chmod +x /etc/rc.d/rc.local  
  2. [root@Wanghualang-A ~]# echo "/etc/init.d/httpd start" >> /etc/rc.local  

 

第三步 安装MySQL

 

新建MySQL用户和用户组

 

  1. [root@Wanghualang ~]# groupadd mysql  
  2. [root@Wanghualang ~]# useradd -M mysql -s /sbin/nologin -g mysql  

 

精简版的操作系统,在接下来的configure阶段肯定会出现缺失相关开发包的报错,根据提示安装相关开发包即可。教程中为了做到一气呵成,先提前安装好需要的开发包。

 

  1. [root@Wanghualang ~]# yum -y install cmake bison ncurses ncurses-devel  

 

编译安装软件

 

 
  1. [root@Wanghualang ~]# cd /usr/local/src/  
  2. [root@Wanghualang src]# wget --no-check-certificate https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.21.tar.gz  
  3. [root@Wanghualang src]# tar xzf mysql-boost-5.7.21.tar.gz  
  4. [root@Wanghualang src]# cd mysql-5.7.21/  
  5. [root@Wanghualang mysql-5.7.21]# cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock  -DSYSCONFDIR=/etc  -DSYSTEMD_PID_DIR=/usr/local/mysql  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITH_ARCHIVE_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DWITH_PERFSCHEMA_STORAGE_ENGINE=1  -DMYSQL_DATADIR=/usr/local/mysql/data  -DWITH_BOOST=boost  -DWITH_SYSTEMD=1  
  6. [root@Wanghualang mysql-5.7.21]# make  
  7. [root@Wanghualang mysql-5.7.21]# make install  

 

建议先删除系统默认创建的MySQL配置文件,再手动创建配置文件。

 

  1. [root@Wanghualang ~]# rm -rf /etc/my.cnf  
  2. [root@Wanghualang ~]# vim /etc/my.cnf  

 

红字部分为配置文件内容:

 

 
  1. [client]  
  2. port = 3306  
  3. default-character-set=utf8  
  4. socket = /usr/local/mysql/mysql.sock  
  5.   
  6. [mysql]  
  7. port = 3306  
  8. default-character-set=utf8  
  9. socket = /usr/local/mysql/mysql.sock  
  10.   
  11. [mysqld]  
  12. user = mysql  
  13. basedir = /usr/local/mysql  
  14. datadir = /usr/local/mysql/data  
  15. port = 3306  
  16. character_set_server=utf8  
  17. pid-file = /usr/local/mysql/mysqld.pid  
  18. socket = /usr/local/mysql/mysql.sock  
  19. server-id = 1  
  20.   
  21. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES  

 

配置命令环境变量

 

 
  1. [root@Wanghualang ~]# echo "export PATH="/usr/local/mysql/bin:$PATH">> /etc/profile      
  2. [root@Wanghualang ~]# source /etc/profile  

 

更改数据库目录属主、属组

 

  1. [root@Wanghualang ~]# chown -R mysql:mysql /usr/local/mysql  

 

初始化数据库

 

 
  1. [root@Wanghualang ~]# /usr/local/mysql/bin/mysqld --initialize-insecure  --user=mysql  --basedir=/usr/local/mysql  --datadir=/usr/local/mysql/data  

 

配置开机启动脚本

 

  1. [root@Wanghualang ~]# cp -rf /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/  
  2. [root@Wanghualang ~]# systemctl daemon-reload  
  3. [root@Wanghualang ~]# systemctl enable mysqld  
  4. [root@Wanghualang ~]# systemctl start mysqld  

 

第四步 安装PHP

 

精简版的操作系统,在接下来的configure阶段肯定会出现缺失相关开发包的报错,根据提示安装相关开发包即可。教程中为了做到一气呵成,先提前安装好需要的开发包。

 

  1. [root@Wanghualang ~]# yum -y install libjpeg-devel libpng-devel freetype-devel libxml2-devel zlib-devel curl-devel libicu-devel openssl-devel  

 

编译安装软件,配置的参数可以适当精简。教程中的配置参数之所以比较多,主要是为了这篇文章做准备:使用OwnCloud搭建私有云网盘

 

 
  1. [root@Wanghualang ~]# cd /usr/local/src/   
  2. [root@Wanghualang src]# wget --no-check-certificate http://cn2.php.net/distributions/php-7.2.3.tar.gz  
  3. [root@Wanghualang src]# tar xzf php-7.2.3.tar.gz     
  4. [root@Wanghualang src]# cd php-7.2.3    
  5. [root@Wanghualang php-7.2.3]# ./configure  --prefix=/usr/local/php  --with-apxs2=/usr/local/apache/bin/apxs  --with-mysql-sock=/usr/local/mysql/mysql.sock  --with-pdo-mysql  --with-mysqli  --with-zlib  --with-curl  --with-gd  --with-jpeg-dir  --with-png-dir  --with-freetype-dir  --with-openssl  --enable-mbstring  --enable-xml  --enable-session  --enable-ftp  --enable-pdo  --enable-tokenizer  --enable-zip  --enable-intl    
  6. [root@Wanghualang php-7.2.3]# make    
  7. [root@Wanghualang php-7.2.3]# make install    

 

创建PHP配置文件

 

  1. [root@Wanghualang ~]# cp -rf /usr/local/src/php-7.2.3/php.ini-development /usr/local/php/lib/php.ini  

 

配置数据库接口

 

 
  1. [root@Wanghualang ~]# sed -i 's/mysqli.default_socket =/mysqli.default_socket = \/usr\/local\/mysql\/mysql.sock/' /usr/local/php/lib/php.ini    

 

第五步 配置Apache解析PHP

 

  1. [root@Wanghualang ~]# vim /usr/local/apache/conf/httpd.conf  

 

大约在第256行,找到:

 

 
  1. <IfModule dir_module>  
  2. DirectoryIndex index.html  
  3. </IfModule>  

 

在index.html后面新增index.php,注意之间有一个空格键,最终修改如下:

 

 
  1. <IfModule dir_module>    
  2. DirectoryIndex index.html index.php    
  3. </IfModule>   

 

大约在第393行,找到:

 

  1. AddType application/x-compress .Z  
  2. AddType application/x-gzip .gz .tgz  

 

在下面添加AddType application/x-httpd-php .php和AddType application/x-httpd-php-source .phps,最终修改如下:

 

  1. AddType application/x-compress .Z  
  2. AddType application/x-gzip .gz .tgz  
  3. AddType application/x-httpd-php .php  
  4. AddType application/x-httpd-php-source .phps  

 

启动服务

 

  1. [root@Wanghualang ~]# service httpd start  

 

第六步 新建测试页

 

  1. [root@Wanghualang ~]# vim /usr/local/apache/htdocs/wanghualang.php  

 

红字部分为代码内容:

 

 
  1. <?php    
  2. phpinfo();    
  3. ?>  

 

 客户端篇

 

使用浏览器访问测试网页:http://192.168.168.200/wanghualang.php,若能看到PHP相关程序信息,表示配置成功!

资源简介文件名称:Apache & Mysql & PHP文件版本:2.4.33 & 5.7.21 & 7.2.3运行平台:Linux

相关热词搜索:源码

上一篇:Centos7 忘记密码的情况下,修改root或其他用户密码
下一篇:centos7重启apache、nginx、mysql、php-fpm命令

分享到: 收藏