LAMP源码编译安装
实验环境
lamp server:Centos7 192.168.10.121
client:Windows10 192.168.10.1
环境配置
关闭防火墙
关闭selinux
源码包下载
Mariadb-10.2wget http://archive.apache.org/dist/apr/apr-1.5.1.tar.gz wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz wget http://archive.apache.org/dist/httpd/httpd-2.4.33.tar.gz wget http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.2.14/source/mariadb-10.2.14.tar.gz wget http://us1.php.net/distributions/php-7.2.5.tar.bz2
依赖包安装(需要连外网与配置yum环境)
yum groups mark convert(groupinstall失败时执行该命令) yum groupinstall "Development Tools" -y #安装开发环境 #中文的为: yum groupinstall 开发工具 yum install cmake -y #mariadb所需依赖 yum install ncurses-devel.x86_64 -y #mariadb所需依赖 yum install pcre-devel #httpd所需依赖 yum install openssl-devel #httpd所需依赖 yum install libxml2-devel #php所需依赖 yum install bzip2-devel #php所需依赖
安装apr、apr-tuil
tar xvf apr-1.5.1.tar.gz cd ./apr-1.5.1/ ./configure --prefix=/usr/local/apr && make && make install tar xvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4/ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install #--prefix=
HTTPD安装
解压并编译安装
cd httpd-2.4.33/ ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib--with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event make && make install #--prefix=/usr/local/apache 指明编译安装的路径 #--sysconfdir=/etc/httpd24 指明配置文件的路径 #--enable-so 支持动态装载卸载模块 #--enable-ssl 支持https通信 #--enable-cgi 支持cgi协议 #--enable-rewrite 支持url重写 #--with-zlib 支持数据压缩 #--with-pcre 兼容正则表达式 #--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util 指明apr和apr-util路径 #--enable-modules=most 支持大多数模块 #--enable-mpms-shared=all 支持全部的工作模型 #--with-mpm=event 默认工作模式为event(prefork)
设置服务名并启用httpd的dflate和rewrite
修改环境变量添加httpd路径
启动服务并测试
更改httpd运行用户
Mariadb安装
解压并使用cmake编译安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DPLUGIN_TOKUDB=NO make && make install # 注: #-DCMAKE_INSTALL_PREFIX=/usr/local/mysql mysql主程序安装目录 #-DSYSCONFDIR=/etc 配置文件目录 # -DDEFAULT_CHARSET=utf8 默认字符集为utf8 #-DDEFAULT_COLLATION=utf8_general_ci 默认的字符集效对规则 #-DWITH_EXTRA_CHARSETS=all 安装所有字符集
添加mariadb运行用户
使用提供的模板配置文件设置mariadb配置并进行配置
datadir = /mydata #指定数据库路径 innodb_file_per_table = on #设置后当创建数据库的表的时候表文件都会分离开,方便复制表 skip_name_resolve = on #跳过名称反解
复制启动脚本并进行设置
将Mariadb加入环境变量
初始化数据库
启动数据库
注:未给启动脚本赋予执行权限,所以无法执行
安全初始化
配置mysql
重启mariadb服务
编译安装PHP
解压并编译安装
cd php-7.2.5/ ./configure --prefix=/usr/local/php --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts make && make install
使用模板设置配置文件
修改httpd配置文件关联php
重启httpd服务
测试
编写测试网页
<?php phpinfo(); ?> <?php $link = mysqli_connect('192.168.10.121','root','12345'); if ($link) echo "Success..."; else echo "Failure..."; mysql_close(); ?>
重启httpd服务
客户机访问测试
Discuz部署
上传服务器并解压
为discuz创建数据库并设置用户密码
mysql -uroot -p create database discuzdb; grant all on discuzdb.* to 'disuser'@'%' identified by '12345'; flush privileges; quit
更改权限并重启
安装
GD库安装
解压并安装依赖包
tar xvf freetype-2.4.8.tar.bz2 cd freetype-2.4.8/ ./configure --prefix=/usr/local/freetype && make && make install tar xvf jpegsrc.v9.tar.gz cd jpeg-9/ CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/jpeg && make && make install tar xvf libpng-1.2.56.tar.gz CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/libpng && make && make install
进入php源码包路径下添加编译gd模块
cd /root/php-7.2.5/ext/gd /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype make && make install
编辑php主配置文件,添加gd模块
检查php是否加载gd模块
重启httpd服务
客户端测试
总结
- 源码安装时应当为软件指定安装目录
- systemctl无法对源码安装的服务进行管理,需要使用服务的脚本管理方式进行管理,通过配置可以实现service等服务管理
- 部分服务的配置文件需要添加响应的权限
- 添加服务运行的用户,并设置响应权限
- 修改PATH环境变量,便于执行命令