CentOS 7
所需 源码 软件包
tips:apr 包是apache的依赖包,apr、apr-util 软件包支持 Apache 上层应用跨平台,提供底层接口库
第一步:将软件包拷贝到 /opt 目录下
解压 然后把 apr 工具移动到 httpd 软件包的 srclib下面
[root@bbs-server opt]# ls
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar xf httpd-2.4.29.tar.bz2
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 安装 gcc gcc-c++ make pcre-devel expat-devel perl [ 全部安装缺一不可 ]
yum -y install gcc gcc-c++ make pcre-devel expat-devel perl
第三步:配置 定制选项
[root@bbs-server opt]# cd httpd-2.4.29
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
解释:
--prefix=/usr/local/httpd \ # 指定安装目录
--enable-so \ # 启用动态加载模块支持,使httpd具备进一步扩展功能的能力
--enable-rewrite \ # 启用网页地址重写功能 用于网站优化及目录迁移维护
--enable-charset-lite \ # 启用字符集支持 以便支持使用各种字符集编码的网页
--enable-cgi # 启用CGI脚本程序支持 便于扩展网站的应用访问能力
第四步:编译安装
[root@bbs-server httpd-2.4.29]# make -j4 && make install
第五步:添加服务让 chkconfig 管理
为了便于通过 chkconfig 进行管理 httpd 系统服务 在文件的开头添加 chkconfig 识别配置
# 将 apachectl 复制到 init.d 目录下便于 service 管理
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd
# chkconfig:35 85 21
chkconfig --add httpd # 添加服务
第六步:修改 Apache 配置文件
vim /usr/local/httpd/conf/httpd.conf
Listen 192.168.80.222:80
ServerName bbsrd.innosilicon.net:80
Listen and ServerName 都需要修改!
# 建立软链接 /usr/local/bin 是系统环境变量 # 存放可执行命令 否则需要用绝对路径才能运行命令
# 建立软链接 /usr/local/bin 是系统环境变量
# 存放可执行命令 否则需要用绝对路径才能运行命令
ln -s /usr/local/httpd/conf/httpd.conf /etc
ln -s /usr/local/httpd/bin/* /usr/local/bin/
第七步:关闭防火墙 和 SELinux
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -ri '#^SELINUX=#cSELINUX=disabled' /etc/selinux/config
setenforce 0
第八步:检查 配置文件 语法
httpd -t
第九步:启动 httpd 服务
service httpd start
chkconfig httpd on
netstat -nltp | grep 80
所需源码包:mysql-5.6.26.tar.gz
链接:百度网盘 请输入提取码
提取码:ru54
https://raw.githubusercontent.com/luocheng812/docker_tars/master/res/mysql-5.6.26.tar.gz
第一步:Yum 安装 ncurses-devel、autoconf、cmake
yum -y install ncurses-devel autoconf cmake
第二步:使用 cmake 配置参数
cd /opt
# wget https://raw.githubusercontent.com/luocheng812/docker_tars/master/res/mysql-5.6.26.tar.gz
tar xzvf mysql-5.6.26.tar.gz
cd mysql-5.6.26/
[root@bbs-server mysql-5.6.26]# 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
解释
[root@bbs-server mysql-5.6.26]# cmake \
- DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ # 指定安装目录
- DDEFAULT_CHARSET=utf8 \ # 指定默认字符集是 utf8 支持中文
- DDEFAULT_COLLATION=utf8_general_ci \ # 指定默认编码为 utf8
- DEXTRA_CHARSETS=all \ # 指定额外的编码 一般都是 all
- DSYSCONFIDIR=/etc \ # 指定配置文件目录
- DMYSQL_DATADIR=/home/mysql/ \ # 指定数据库的数据目录
- DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock # 指定 socket 文件
第三步:编译安装
make -j4 && make install
第四步:进行如下配置 优化 MySQL 服务管理
[root@bbs-server mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
[root@bbs-server mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld
[root@bbs-server mysql-5.6.26]# chmod 755 /etc/init.d/mysqld
$ chkconfig --add /etc/init.d/mysqld
$ chkconfig mysqld --level 35 on
$ echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
$ source /etc/profile
$ echo $PATH
注意:
my-default.cnf 是 mysql 源码安装的默认配置文件
mysql.server 是服务端工具 主要作用就是为了方便启动和关闭 mysql 服务
mysql.server 启动 默认使用 /etc/my.cnf 配置文件信息
第五步:新建一个 mysql 用户
把 /usr/local/mysql 下的所有属主属组都改成 mysql 并完成 mysql 的初始化
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql
[root@bbs-server mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql/ \
--datadir=/home/mysql
解释:
[root@bbs-server mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db \
--user=mysql \ # 指定运行 mysqld 进程用户名
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql/ \ # 指定 Mysql 安装的绝对路径
--datadir=/home/mysql # 指定 Mysql 数据存放的绝对路径
mysql_install_db:用于完成 MySQL 的初始化
第六步:完善 MySQL 启动文件
[root@bbs-server mysql-5.6.26]# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/home/mysql
第七步:启动 MySQL
MySQL 的服务端口:TCP:3306
service mysqld start
chkconfig mysqld on
netstat -anpt | grep 3306
第八步:指定 MySQL 的管理用户为 root
密码为 P@ssw0rd123456
mysqladmin -u root -p password "P@ssw0rd123456"
Enter password: [ 输入旧的密码 默认密码为空 所以直接回车 ]
第九步:用 root 登进 MySQL
mysql -uroot -pP@ssw0rd123456
4)安装 PHP
所需源码软件包:php-5.6.11.tar.bz2
http://mirrors.sohu.com/php/php-5.6.11.tar.bz2
第一步:Yum 安装 gd libpng libpng-devel pcre pcre-devel libxml2-devel libjpeg-devel
yum -y install gd libpng libpng-devel pcre pcre-devel libxml2-devel libjpeg-de
第二步:解压 php 软件包
cd /opt
rz php-5.6.11.tar.bz2
tar xjvf php-5.6.11.tar.bz2
第三步:切换到解压目录 定制配置
$ mkdir -p /usr/local/php5
[root@bbs-server opt]# cd /opt/php-5.6.11
[root@bbs-server php-5.6.11]# ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php5 --enable-mbstring
解释:
[root@bbs-server php-5.6.11]# ./configure \
--prefix=/usr/local/php5 \ # 指定 php 安装目录
--with-gd \ # 指定安装所依赖的 gd 库文件
--with-zlib \ # 指定安装所依赖的 zlib 库文件 zlib是提供数据压缩用的函式库
--with-apxs2=/usr/local/httpd/bin/apxs \ # 指定 Apache 服务能够支持访问 PHP 页面
--with-mysql=/usr/local/mysql/ \ # 指定 php 的数据库为 MySQL
--with-config-file-path=/usr/local/php5 \ # 指定 php 的配置文件路径
--enable-mbstring # 开启 mbstring 扩展 使之可以支持中文等语言
第四步:编译安装
make -j4 && make install
第五步:优化 php 管理
cp php.ini-development /usr/local/php5/php.ini
ln -s /usr/local/php5/bin/* /usr/local/bin
第六步:编辑 Apache 配置文件
找到两行 AddType 配置 在后面再插入两行内容 作用是让 apache 支持 php 文件
vim /etc/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
第七步:在 Apache 的默认站点目录下编写一个 php 的页面
vim /usr/local/httpd/htdocs/index.php
第八步:重启 Apache 的服务
service httpd stop
service httpd start
第九步:验证访问网站
http://192.168.80.222/index.php
出现如下网页说明 LAMP 架构 已经搭建完成啦!
第一步:新建一个数据库bbs
并 新建一个登陆用户 admin
密码是 admin
授权让其可以在任何主机上登录
并对所有数据库有查询 插入 修改 删除的权限 % 表示任意
mysql -uroot -pP@ssw0rd123456
CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'admin'@'%' IDENTIFIED BY 'admin';
flush privileges;
show databases;
第二步:解压 Discuz 软件包 指定解压到 /opt/dis
cd /opt
unzip /opt/Discuz_X2.5_SC_UTF8.zip -d /opt/dis
第三步:将解压目录下的网站相关页面拷贝到 Apache 默认站点下的 bbs 目录下
cd /opt/dis
cp -r upload/ /usr/local/httpd/htdocs/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/
第五步:访问 http://192.168.80.222/bbs/install
按照向导一步步安装 Discuz
报错
解决
排查思路
1. 确认数据库用户名或者密码是否正确
2. 有没有给该用户设置所以权限,并且可以从任意终端登录
3. 查看数据库中是否存在空用户
按照这思路排查后 发现原来是空用户导致的 需进入数据库按如下步骤进行修改
select user,host from mysql.user;
delete from mysql.user where user='';
flush privileges; # 刷新数据库
完成
继续安装
第六步:安装完成后验证登陆前台页面
http://192.168.80.222/bbs
第七步:安装完成后验证登陆后台
用户名:admin
密码:xxxxxx
http://192.168.80.222/bbs/admin.php
第八步:Please delete install/index.php via FTP!
rm -rf /usr/local/httpd/htdocs/bbs/install/index.php
如上 admin 管理员身份登录论坛后台 可对论坛进行管理
第九步:注册一个新的用户
第九步:进入服务器上的数据库中查看刚才新建的用户信息
mysql -uroot -pP@ssw0rd123456
use bbs;
show tables;
desc pre_common_member;
select uid,email,username,password,status from pre_common_member;
完成!