文章目录
- 源码安装相关理论
- 源代码安装特点
- 源码包安装步骤
- 一、源码安装Apache
- 1、编译安装依赖包 apr
- 2、编译安装依赖包 apr-util
- 3、编译安装依赖包 pcre
- 4、编译安装 Apache
- 5、重启 apache 服务
- 6、修改网页显示内容
- 7、访问测试
- 二、源码安装Mysql
- 1、把系统自带的 boost 库卸载,源码编译安装高版本
- 2、卸载系统自带的 MySQL
- 3、安装必要的资源包
- 4、安装编译器及依赖包
- 5、添加用户和组
- 6、解压源码包
- 7、规划安装目录
- 8、编译安装 MySQL
- 9、编译
- 10、编译安装
- 11、编辑配置文件
- 12、添加 path 路径,让系统能读到 mysql 的命令
- 13、使修改生效
- 14、生成服务启动脚本
- 15、修改权限
- 16、初始化数据库
- 17、启动服务
- 18、数据库安全初始化设置
- 19、登录数据库
- 20、刷新权限
- 21、查看当前数据库
- 22、退出数据库
- 三、源码安装PHP7.1.24
- 1、Centos7 安装 epel 源
- 2、安装所需依赖包
- 3、配置相关参数
- 4、编译&安装
- 5、生成配置文件
- 6、编辑 Apache 的配置文件,使其支持 php
- 7、重启 apache 服务
- 8、创建测试页
- 9、测试,在浏览器输入:http://自己 IP 地址/index.php
- 10、测试连接 mysql 是否成功
- 四、源码LAMP部署验证
- 1、Apache服务器验证
- 2、Mysql验证
- 2.1、登录数据库
- 2.2、查看当前数据库
- 2.3、退出数据库
- 3、PHP验证
- 4、PHP+Mysql验证
源码安装相关理论
源代码安装特点
源码包:即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后再压缩的资源包)。
开源,能看到代码并且可以按自己所需修改源代码
安装时要先在自己系统上编译再安装,所以更适合自己的系统,运行效率更高
需要编译所以比二进制包安装时间要长
编译安装过程中一旦报错新手难以解决
源码包安装步骤
- 官网下载源码包
- 解压缩
- 进入解压后的目录 执行命令
- “./config”,用于检测系统环境是否符合安装要求,此步骤会生成Makefile文件,里边写入了检测结果和一些定义好的功能选项。
- make 编译
- make clean (如果上两步执行出错了可以执行make
clean,用于清空Makefile文件或编译产生的“.o”头文件)- make install
【图片转载】https://blog.csdn.net/w00347190/article/details/100770984
一、源码安装Apache
1、编译安装依赖包 apr
cd /opt/Apache
tar xf apr-1.6.2.tar.gz -C /usr/local/src/
cd /usr/local/src/apr-1.6.2/
./configure --prefix=/usr/local/apr && make && make install
2、编译安装依赖包 apr-util
cd /opt/Apache
tar xf apr-util-1.6.0.tar.gz -C /usr/local/src/
cd /usr/local/src/apr-util-1.6.0/
./configure --prefix=/usr/local/apr-util –with-apr=/usr/local/apr/bin/apr-1-config && make && make install
3、编译安装依赖包 pcre
cd /opt/Apache
tar xf pcre-8.41.tar.gz -C /usr/local/src/
cd /usr/local/src/pcre-8.41/
./configure --prefix=/usr/local/pcre && make && make install
4、编译安装 Apache
cd /opt/Apache
tar zxf httpd-2.4.37.tar.gz -C /usr/local/src/
cd /usr/local/src/httpd-2.4.37/
./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-ssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-modules=most --enable-mpms-shared=all --with-mpm=event &&make && make install
选项说明:
–prefix=/usr/local/apache #安装路径
–enable-so #支持动态加载模块
–enable-rewrite #支持网站地址重写
–enable-ssl #支持 SSL 加密
–with-pcre=/usr/local/pcre #pcre 路径
–with-apr=/usr/local/apr #apr 路径
make install
#(1)配置文件
/usr/local/apache/conf/httpd.conf
#(2)网站根目录
/usr/local/apache/htdocs/index.html ##可以修改网页内容
#(3)生成启动脚本
cp /usr/local/apache/bin/apachectl /etc/init.d/
chmod +x /etc/init.d/apachectl
#(4)写个 apache 系统服务脚本,754 权限保存
vim /usr/lib/systemd/system/apache.service
chmod 745 /usr/lib/systemd/system/apache.service
#(5)启动服务
systemctl enable apache
systemctl start apache.service
#(6)修改 Apache 的运行用户
useradd -M -s /sbin/nologin apache #用该用户运行 Apache
vim /usr/local/apache/conf/httpd.conf #修改配置文件改变Apache运行身份
#(7)更改目录权限
chown -R apache:apache /usr/local/apache/
5、重启 apache 服务
systemctl restart apache
6、修改网页显示内容
vim /usr/local/apache/htdocs/index.html
7、访问测试
在浏览器输入自己虚拟机 IP 地址:192.168.0.107
二、源码安装Mysql
1、把系统自带的 boost 库卸载,源码编译安装高版本
yum -y remove boost-*
2、卸载系统自带的 MySQL
yum -y remove mysql mariadb-*
3、安装必要的资源包
4、安装编译器及依赖包
yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel
5、添加用户和组
groupadd mysql
useradd -M -s /sbin/nologin -r -g mysql mysql
6、解压源码包
cd /opt/Mysql
tar xf boost_1_59_0.tar.gz -C /usr/local/src/
tar xf mysql-5.7.19.tar.gz -C /usr/local/src/
cd /usr/local/src/mysql-5.7.19
7、规划安装目录
安装目录:/var/lib/mysql
数据目录:/var/lib/mysql/data
mkdir -p /var/lib/mysql/data
chown -R mysql:mysql /var/lib/mysql
8、编译安装 MySQL
cmake -DCMAKE_INSTALL_PREFIX=/var/lib/mysql \
-DMYSQL_DATADIR=/var/lib/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/src/boost_1_59_0
参数注释:
DCMAKE_INSTALL_PREFIX:指定 MySQL 程序的安装目录,默认/usr/local/mysql
DEFAULT_CHARSET:指定服务器默认字符集,默认 latin1
DEFAULT_COLLATION:指定服务器默认的校对规则,默认 latin1_general_ci
ENABLED_LOCAL_INFILE:指定是否允许本地执行 LOAD DATA INFILE,默认 OFF
WITH_COMMENT:指定编译备注信息
WITH_xxx_STORAGE_ENGINE:指定静态编译到 mysql存储引擎,MyISAM
9、编译
grep processor /proc/cpuinfo | wc -l #查看服务器 CPU 核心数
make -j 2
#注:-j 用来指定 CPU 核心数,可加快编译速度。例如:想使用 2 核来进行编译,则在-j 后加 2,可以提高编译速度,当然你要确定你的虚拟机CPU 多少核心
10、编译安装
make install
11、编辑配置文件
vim /etc/my.cnf
[mysqld]
basedir=/var/lib/mysql
datadir=/var/lib/mysql/data
port=3306
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld.pid
[mysql]
socket=/var/lib/mysql/mysql.sock
[client]
socket=/var/lib/mysql/mysql.sock
12、添加 path 路径,让系统能读到 mysql 的命令
vim /etc/profile.d/mysql.sh
export PATH=/var/lib/mysql/bin:$PATH
13、使修改生效
. /etc/profile.d/mysql.sh
14、生成服务启动脚本
cp /var/lib/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
15、修改权限
chown -R mysql:mysql /var/lib/mysql
16、初始化数据库
/var/lib/mysql/bin/mysqld --initialize-insecure --user=mysql --
basedir=/var/lib/mysql --datadir=/var/lib/mysql/data
17、启动服务
/etc/init.d/mysqld start
如果启动失败,报错:
Starting MySQL… ERROR! The server quit without updating PID file
(/tmp/mysqld.pid)
解决方法:
把数据目录删除,重新初始化:
cd /var/lib/mysql/data/
rm -rf ./*
/var/lib/mysql/bin/mysqld --initialize-insecure --user=mysql --
basedir=/var/lib/mysql --datadir=/var/lib/mysql/data
启动
/etc/init.d/mysqld start
Starting MySQL. SUCCESS!
18、数据库安全初始化设置
mysql_secure_installation
MySQL5.7 提供了三种密码策略,可以根据需要设置复杂度不同的密码,输入两次密码,然后一直 Y 下去直至完成
19、登录数据库
mysql -u root -p ## 密码填上一步初始化设置的密码
20、刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
21、查看当前数据库
mysql> show databases;
22、退出数据库
mysql> exit
三、源码安装PHP7.1.24
1、Centos7 安装 epel 源
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum clean all
yum list
2、安装所需依赖包
yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf
freetype gd libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-
devel zlib curl curl-devel re2c php-pear
cd /opt/PHP
tar xf php-7.1.24.tar.gz -C /usr/local/src
cd /usr/local/src/php-7.1.24/
3、配置相关参数
./configure --prefix=/usr/local/php/ \
--with-apxs2=/usr/local/apache/bin/apxs \
--enable-mbstring \
--with-curl \
--with-gd \
--enable-fpm \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-config-file-path=/usr/local/php/etc/ \
--with-mysqli=mysqlnd \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--enable-maintainer-zts
PHP配置选项中文手册 http://php.net/manual/zh/configure.about.php
参数注释:
–with-apxs2 #将 php 编译为 Apache 的一个模块进行使用
–enable-mbstring #多字节字符串的支持
–with-curl #支持 cURL
–with-gd #支持 gd 库
–enable-fpm #支持构建 fpm
–enable-mysqlnd #启用 mysqlnd
–with-pdo-mysql #支持 pdo:MySQL 支持
–with-config-file-path #设置配置文件路径
–with-mysqli #支持 MySQLi
–with-mysql-sock #关联 mysql 的 socket 文件
–enable-maintainer-zts #如果 Apache 是 event 模型,那需要指定 zts
4、编译&安装
make -j 2 && make install
5、生成配置文件
cp php.ini-production /usr/local/php/etc/php.ini
6、编辑 Apache 的配置文件,使其支持 php
vim /usr/local/apache/conf/httpd.conf
在 393 行下面添加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
7、重启 apache 服务
systemctl restart apache.service
8、创建测试页
vim /usr/local/apache/htdocs/index.php
<?php
phpinfo();
?>
9、测试,在浏览器输入:http://自己 IP 地址/index.php
能打开上图页面即为成功
10、测试连接 mysql 是否成功
vim /usr/local/apache/htdocs/index.php
<?php
$mysqli = new mysqli("localhost", "root", "123456");
if(!$mysqli) {
echo"database error";
}else{
echo"php env successful";
}
$mysqli->close();
phpinfo();
?>
11、测试,在浏览器输入:http://自己 IP 地址/index.php
页面左上角显示字样即为连接成功
四、源码LAMP部署验证
1、Apache服务器验证
在浏览器输入自己虚拟机 IP 地址 :192.168.0.107
2、Mysql验证
2.1、登录数据库
mysql -u root -p ##密码填上一步初始化设置的密码
2.2、查看当前数据库
mysql> show databases;
2.3、退出数据库
mysql> exit
3、PHP验证
4、PHP+Mysql验证
测试,在浏览器输入:http://192.168.0.107/index.php