LAMP源码编译
Posted 淺淺舊時光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LAMP源码编译相关的知识,希望对你有一定的参考价值。
---恢复内容开始---
1、LAMP源码编译的基础环境
安装组建包:yum groupinstall "Development Tools" "Development Libraries" -y
安装编译包:yum install gcc gcc-c++ openssl-devel -y
下载源码包:
apr-1.6.3.tar.gz
mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz
apr-util-1.6.1.tar.bz2
pcre-8.41.tar.bz2
httpd-2.4.29.tar.bz2
php-7.1.11.tar.bz2
2、编译安装(按顺序安装)
- tar xf apr-1.6.3.tar.gz -C /usr/local/src/
-
tar xf apr-util-1.5.4.tar.bz2 -C /usr/local/src/
- tar xf pcre-8.41.tar.bz2 -C /usr/local/src/
cd /usr/local/src/
- 安装apr
cd apr-1.6.3/
./configure --prefix=/usr/local/apr //检查环境并指定安装目录
make -j 2 //让几个cpu同时运行,这里是2,加快速度
make install //安装
echo $? //检查是否正常,返回结果为0则正常
//安装apr-util
cd ../apr-util-1.5.4/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ && make -j 2 && make install
//检测时指定apr的目录,一天命令完成安装
- 安装pcre
cd ../pcre-8.41/
./configure --prefix=/usr/local/pcre && make && make install
- 安装httpd
tar xf httpd-2.4.29.tar.bz2 -C /usr/local/src/ //解压安装包
cd /usr/local/src/httpd-2.4.29
./configure --prefix=/usr/local/apache2.4 --enable-so --enable-rewrite --enable-ssl --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
//--enable是启用一些模块,可选。--with为必须参数
make -j 2
make install
cp /usr/local/apache2.4//bin/apachectl /etc/init.d/apache2.4
//将启动文件脚本复制到系统启动目录里面命名为aqache2.4
vim /etc/init.d/apache2.4 //修改配置文件
#chkconfig:2345 64 36 //添加,启动级别
# description: Apache2.4.29 start script //描述性信息
:wq
/etc/init.d/apache2.4 start //启动 显示的不是报错信息,是域名没有改的提醒
ps aux|grep apache //查看进程
useradd -M -s /sbin/nologin apache //为apache创建一个用户
vim /usr/local/apache2.4/conf/httpd.conf //修改配置文件
User daemon 改为 User apache
Group daemon 改为 Group apache
chown -R apache.apache /usr/local/apache2.4/ //修改目录组权限,有root改为apache
/etc/init.d/apache2.4 restart //重启apache
- 安装mysql
tar xf mysql-5.6.26.tar.gz -C /usr/local/src/ //解压
cd /usr/local/src/
id mysql //查看有没有mysql用户
useradd -M -s /sbin/nologin mysql //创建mysql用户
yum install cmake ncurses-devel -y //安装必备依赖包
yum remove mysql* -y
yum remove mysql -y //删除所有与mysql相关的东西,确保系统干净
//编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mysql/data \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_BOOST=/home/alex/Downloads/boost_1_59_0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
cmake 编译选项含意:
-DCMAKE_INSTALL_PREFIX=dir_name | 设置mysql安装目录 |
-DMYSQL_UNIX_ADDR=file_name | 设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock |
-DDEFAULT_CHARSET=charset_name | 设置服务器的字符集。 缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。 |
-DDEFAULT_COLLATION=collation_name | 设置服务器的排序规则。 |
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 |
存储引擎选项: MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。 静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1 可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema) |
-DMYSQL_DATADIR=dir_name | 设置mysql数据库文件目录 |
-DMYSQL_TCP_PORT=port_num | 设置mysql服务器监听端口,默认为3306 |
-DENABLE_DOWNLOADS=bool | 是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。 |
//安装
make -j 2 && make install
chown -R mysql.mysql /usr/local/mysql/ //更改组权限
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf //复制配置文件并覆盖
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld //复制启动脚本并重命名为mysqld
vim /etc/init.d/mysqld //修改启动脚本配置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
:wq
chkconfig mysqld on //加入开机自启动
//mysql初始化
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
ln -sv /usr/local/mysql/bin/* /bin/ //创建软连接,将mysql的命令放到/bin/目录下
/etc/init.d/mysqld start //启动mysql
ps aux|grep mysql //查看进程
mysql_secure_installation //安全初始化
mysql -u root -p //登录
- 安装PHP
yum install libxml2-devel -y //安装依赖组建包
tar xf php-7.1.11.tar.bz2 -C /usr/local/src/ //解压
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php //编译
make -j 2 && make install //安装
cp php.ini-production /usr/local/php/php.ini //复制配置文件重命名为php.ini
ll /usr/local/apache2.4/modules/libphp7.so
ll /usr/local/apache2.4/modules/httpd.exp //查看apanhe是否支持php,若有这个文件则支持
vim /usr/local/apache2.4/conf/httpd.conf //修改apache配置文件支持php
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-source .phps
:wq
vim /usr/local/apache2.4/htdocs/index.php //建立一个php文件
/etc/init.d/apache2.4 restart //重启apache
访问ip/index.php失败,查看端口是否启动
netstat -tlunp |grep 80
关闭防火墙
firewall-cmd --stat
systemctl stop firewall
安装elinks
yum install elinks
elinks 192.168.31.60/index.php
---恢复内容结束---
以上是关于LAMP源码编译的主要内容,如果未能解决你的问题,请参考以下文章