先把Apache的跨平台组件包装了,环境包先装了
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2
注意文件结构,跑在最底下的两个组件包放到httpd/srclib里
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
安装编译工具
yum -y install \
gcc \ #c语言编译器
gcc-c++ \ #c++的编译器
make \ #make编译工具
pcre-devel \ #pcre-devel 开发
expat-devel \ #expat 让你的网站能够去解析xml格式的文件
perl #perl编译器
perl语言是个工具,类似shell脚本,也是支持awk、sed正则表达式的操作,专注于制作正则表达式里的工具,pcre-devel 开发,perl编译器,expat 让你的网站能够去解析xml格式的文件,都是支持标签性语言的,<> 斜杠/为结尾,让它能够识别标签性语言工具环境
进入http-2.4.29路径下,找到configure文件进行配置
./configure \
--prefix=/usr/local/httpd \ #自定义安装路径
--enable-so \ #核心模块
--enable-rewrite \ #重写功能,开启防盗链功能
--enable-charset-lite \ #字符集,支持简体中文
--enable-cgi #通用网关接口 只要搭建网站,底层必有cgi
编译和安装
上面的是配置文件
make && make install
make的过程就是把刚刚的配置文件转换成可执行性文件,能执行的文件就是二进制文件,机器能识别而人识别不了 ,转换成机器能够识别的文件,二进制文件
修改配置文件
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #复制一份文件到/etc/init.d/httpd 文件中
vim /etc/init.d/httpd
# chkconfig: 35 85 21 //35级别自动运行 第85个启动 第21个关闭
# description: Apache is a World Wide Web server
添加启动脚本 便于server所能管理,systemctl所能管理Apache的服务启动和关闭
chkconfig --add httpd //将httpd加入到SERVICE管理器
修改httpd配置文件,ServerName和Listen监听地址
vi /usr/local/httpd/conf/httpd.conf
ServerName www.kgc.com:80
Listen 192.168.15.133:80
创建软链接,/usr/local/bin目录便于系统识别
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
关闭防火墙
systemctl stop firewalld.service
setenforce 0
检查httpd与apachectl是否有报错
httpd -t
apachectl -t
无报错,开启服务,检查80端口是否开启
service httpd start
netstat -anpt | grep 80
安装环境包
yum install ncurses-devel autoconf cmake -y
解压缩后,进入mysql-5.6.26路径下
tar xzvf mysql-5.6.26.tar.gz
cd mysql-5.6.26
找到cmake文件,进行配置
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定安装路径
-DDEFAULT_CHARSET=utf8 \ #指定字符集
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \ #扩展字符集
-DSYSCONFIDIR=/etc \ #配置文件目录
-DMYSQL_DATADIR=/home/mysql/ \ #数据目录
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock #数据库通讯文件,sock文件,只有在服务启动之后,会自动产生
编译和安装,一般make和make install还是分开进行
make && make install
修改配置文件并提权
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig --level 35 mysqld on
更改环境变量
echo "PHTH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
echo $PATH
添加Mysql用户,指定属组
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
初始化数据库
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \ #用户
--ldata=/var/lib/mysql \ #函数库
--basedir=/usr/local/mysql \ #工作位置
--datadir=/home/mysql #数据位置
修改/etc/init.d/mysqld文件,找到basedir和datadir指定路径
vi /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/home/mysql
打开服务,检查3306端口是否开启
service mysqld start
netstat -anpt | grep 3306
安装环境包
yum -y install \
gd \ #图像化处理的库
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \ #解析xml标签系语言
libjpeg-devel
解压缩文件,进入php-5.6.11目录
tar xjvf php-5.6.11.tar.bz2
cd php-5.6.11
找到configure文件,进行配置
./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \ #压缩,函数库
--with-apxs2=/usr/local/httpd/bin/apxs \ #让Apache各种功能模块直接启动给Apache执行和加载
--with-mysql=/usr/local/mysql \ #关联数据库
--with-config-file-pah=/usr/local/php5 \ #php的配置文件
--enable-mbstring #功能型模块加载
编译和安装
make && make install
复制配置文件,建立软链接
cp php.int-development /usr/local/php5/php.ini
ln -s /usr/local/php5/bin/* /usr/local/bin/
修改 /etc/httpd.conf 文件
vi /etc/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
修改 html
vi /usr/local/httpd/htdocs/index.php
打开浏览器,输入"http://192.168.15.133/index.php"来进行测试
解压缩Discuz_X2.5_SC_UTF8.zip文件
unzip Discuz_X2.5_SC_UTF8.zip -d /opt/Discuz
在数据库进行创建bbs,把论坛upload组件复制到bbs
mysql -u root -p #进入数据库
mysql>create database bbs; #创建bbs数据库
mysql> GRANT all ON bbs.* TO 'bbsuser'@'192.168.15.133' IDENTIFIED BY 'admin123';
mysql> flush privileges; #刷新数据库
mysql> quit #退出
cp -r upload/ /usr/local/httpd/htdocs/bbs #复制upload到httpd站点的bbs目录中
cd /usr/local/httpd/htdocs/bbs/
chown -R daemon ./config/
chown -R daemon ./data/
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data #为各程序用户提升权限