源码编译LAMP(CentOS7+Apache2.4+MySQL5.7+PHP7)

3 篇文章 0 订阅
1 篇文章 0 订阅
  • Apache

1、安装依赖包:

yum install apr-devel apr-util-devel pcre-devel make gcc-c++ openssl openssl-devel -y

2、下载httpd源码包

wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.38.tar.gz 
tar -zxvf httpd-2.4.38.tar.gz
cd httpd-2.4.38

3、编译安装

./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-ssl --with-ssl
make
make install

4、加入systemctl服务管理并设置开机启动

cd /etc/init.d/
vim httpd
#!/bin/bash
# chkconfig: 12345 80 90
function start_http()
{
/usr/local/apache/bin/apachectl  start
}
function stop_http()
{
 /usr/local/apache/bin/apachectl  stop
}
case "$1" in
start)
    start_http
;;  
stop)
    stop_http
;;  
restart)
    stop_http
    start_http
;;
*)
    echo "Usage : start | stop | restart"
;;
esac
chmod a+x httpd
systemctl daemon-reload
chkconfig --add httpd
systemctl start httpd
#浏览器访问:IP地址
  • MySQL

1、安装依赖包

yum install -y cmake gcc-c++ bison-devel ncurses-devel ncurses

2、下载MySQL源码包

wget http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.7/mysql-5.7.25.tar.gz
tar -zxvf mysql-5.7.25.tar.gz
cd mysql-5.7.25

3、编译安装

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BIG_TABLES=1 -DWITH_DEBUG=0 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost/
make
make install

4、配置文件my.cnf

vim /etc/my.cnf
[client]
port = 3306
socket = /usr/local/mysql57/mysql.sock
[mysqld]
datadir=/data/mysql
basedir=/usr/local/mysql57
socket=/usr/local/mysql57/mysql.sock

5、创建MySQL用户、数据存放路径

useradd -s /sbin/nologin mysql
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
chown -R mysql:mysql /usr/local/mysql57/

6、加入systemctl服务管理并设置开机启动

cp /usr/local/mysql57/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 35 mysqld on
ln -s /usr/local/mysql57/bin/* /usr/bin/
mysqld --initialize --user=mysql --basedir=/usr/local/mysql57/ --datadir=/data/mysql/  #此处会生成出事密码
systemctl start mysqld
systemctl status mysqld

#生成的初始密码

7、修改或重置MySQL密码

方式一、修改初始密码

mysql -uroot -pY/p+j<=p=2lW #上图初始密码
alter user 'root'@'localhost' identified by '123456';

方式二、如没有看到初始密码,则采用以下方式:

#增加skip-grant-tables
vim /etc/my.cnf
[client]
port = 3306
socket = /usr/local/mysql57/mysql.sock
[mysqld]
datadir=/data/mysql
basedir=/usr/local/mysql57
socket=/usr/local/mysql57/mysql.sock
skip-grant-tables

#重置密码
systemctl restart mysql
mysql -uroot -p #回车
use mysql;
flush privileges;
set password for root@localhost='123456';
flush privileges;
exit;

#测试结果
systemctl restart mysql
mysql -uroot -p123456

#删除添加的skip-grant-tables,删除后重新启动
  • PHP

1、安装依赖包

yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers autoconf

2、编译安装

wget http://mirrors.sohu.com/php/php-7.2.9.tar.gz
tar -zxvf php-7.2.9.tar.gz
cd php-7.2.9
./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache/bin/apxs --with-mysql-sock=/usr/local/mysql57/mysql.sock --enable-mbstring --with-curl --with-gd --with-pdo-mysql --enable-mbstring --enable-ftp --with-jpeg-dir --with-png-dir --with-mysqli --with-pear --enable-sockets --with-freetype-dir --with-libxml-dir --with-xmlrpc --enable-zip --enable-fpm --enable-xml --with-zlib --with-iconv --enable-zip --with-freetype-dir --enable-soap --enable-pcntl --enable-cli --with-curl
#./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache/bin/apxs --with-mysql-sock=/usr/local/mysql57/mysql.sock --enable-mbstring --with-curl --with-gd --with-pdo-mysql
make
make install

3、配置文件php.ini(php源码./php-7.2.9/php.ini-production)

cp /root/php-7.2.9/php.ini-production  /usr/local/php7/lib/php.ini

4、Apache + PHP源码整合

vim /usr/local/apache/conf/httpd.conf
LoadModule php7_module        modules/libphp7.so #一般自动生成
DirectoryIndex index.php index.html index.htm
<FilesMatch \.php$>   #最后面加上
SetHandler application/x-httpd-php
</FilesMatch>

5、测试Apache + PHP环境

vim /usr/local/apache/htdocs/index.php
<?php
phpinfo();
?>
systemctl restart httpd
#浏览器访问:IP地址

6、PHP7安装pdo_mysql扩展

cd /root/php-7.2.9/ext/pdo_mysql/   #php源码包路径
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config --with-pdo-mysql=/usr/local/mysql57/
make
make install
vim /usr/local/php7/lib/php.ini
extension=pdo_mysql.so  #最下面增加
systemctl restart httpd

7、PHP7安装mysqli扩展

cd /root/php-7.2.9/ext/mysqli   #php源码包路径
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config --with-mysql=mysqlnd
make
make install
vim /usr/local/php7/lib/php.ini
extension=mysqli.so  #最下面增加
systemctl restart httpd

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值