一台CentOS 7.6最小化安装虚拟机
所需源码软件包:
tips:apr包是apache的依赖包,apr、apr-util软件包支持Apache上层应用跨平台,提供底层接口库
第一步:将软件包拷贝到/opt目录下,解压,然后把apr工具移动到httpd软件包的srclib下面
[root@server opt]# ls
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
[root@server opt]#
[root@server opt]# tar xf apr-1.6.2.tar.gz
[root@server opt]# tar xf apr-util-1.6.0.tar.gz
[root@server opt]# tar xf httpd-2.4.29.tar.bz2
[root@server opt]# ls
apr-1.6.2 apr-1.6.2.tar.gz apr-util-1.6.0 apr-util-1.6.0.tar.gz httpd-2.4.29 httpd-2.4.29.tar.bz2
[root@server opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@server opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
第二步:yum安装gcc gcc-c++ make pcre-devel expat-devel perl(全部安装缺一不可)
[root@server opt]# yum -y install gcc gcc-c++ make pcre-devel expat-devel perl
已安装:
pcre-devel.x86_64 0:8.32-17.el7 expat-devel.x86_64 0:2.1.0-11.el7
更新完毕:
expat.x86_64 0:2.1.0-11.el7 gcc.x86_64 0:4.8.5-39.el7 gcc-c++.x86_64 0:4.8.5-39.el7 make.x86_64 1:3.82-24.el7
perl.x86_64 4:5.16.3-295.el7
作为依赖被升级:
cpp.x86_64 0:4.8.5-39.el7 gcc-gfortran.x86_64 0:4.8.5-39.el7 libgcc.x86_64 0:4.8.5-39.el7
libgfortran.x86_64 0:4.8.5-39.el7 libgomp.x86_64 0:4.8.5-39.el7 libquadmath.x86_64 0:4.8.5-39.el7
libquadmath-devel.x86_64 0:4.8.5-39.el7 libstdc++.x86_64 0:4.8.5-39.el7 libstdc++-devel.x86_64 0:4.8.5-39.el7
perl-libs.x86_64 4:5.16.3-295.el7
完毕!
第三步:配置,定制选项
[root@server opt]# cd httpd-2.4.29
[root@server httpd-2.4.29]# ./configure \
--prefix=/usr/local/httpd \ #指定安装目录
--enable-so \ #启用动态加载模块支持,使httpd具备进一步扩展功能的能力
--enable-rewrite \ #启用网页地址重写功能,用于网站优化及目录迁移维护
--enable-charset-lite \ #启用字符集支持,以便支持使用各种字符集编码的网页
--enable-cgi #启用CGI脚本程序支持,便于扩展网站的应用访问能力
第四步:编译安装
[root@server httpd-2.4.29]# make && make install
第五步:添加服务让chkconfig管理
为了便于通过chkconfig进行管理httpd系统服务,在文件的开头添加chkconfig识别配置
[root@server bin]# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
#将apachectl复制到init.d目录下便于service管理
[root@server bin]# vim /etc/init.d/httpd
#!/bin/sh
\# chkconfig:35 85 21 指定运行在3,5级别(init3和init5),启动优先级为85,停止优先级为21,数字越大,优先级越高
\# description: Apache is a World Wide Web server
\# Licensed to the Apache Software Foundation (ASF) under one or more
……
[root@server bin]# chkconfig --add httpd #添加服务
tips:因为第一次安装apache报错重装以后目录改变为/usr/local/apache2,如果第一次正确安装目录为/usr/local/httpd
第六步:修改apache配置文件
[root@server bin]# vim /usr/local/apache2/conf/httpd.conf
ServerName www.kgc.com:80 #指定域名
Listen 192.168.100.120:80 #指定监听ip和端口(本机)
[root@server httpd]# ln -s /usr/local/apache2/conf/httpd.conf /etc/
[root@server httpd]# ln -s /usr/local/apache2/bin/* /usr/local/bin/
#建立软链接,/usr/local/bin/是系统环境变量,存放可执行命令,否则需要用绝对路径才能运行命令
第七步:关闭防火墙和selinux
[root@server httpd]# systemctl stop firewalld.service
[root@server httpd]# setenforce 0
第八步:检查配置文件语法
[root@server local]# httpd -t
Syntax OK
第九步:启动httpd服务
[root@server local]# service httpd start
[root@server local]# netstat -anpt| grep 80
tcp 0 0 192.168.100.120:80 0.0.0.0:* LISTEN 66657/httpd
所需源码包:mysql-5.6.26.tar.gz
第一步:yum安装ncurses-devel、autoconf、cmake
[root@server ~]# yum -y install ncurses-devel autoconf cmake
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
软件包 autoconf-2.69-11.el7.noarch 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 cmake.x86_64.0.2.8.12.2-2.el7 将被 安装
--> 正在处理依赖关系 libarchive.so.13()(64bit),它被软件包 cmake-2.8.12.2-2.el7.x86_64 需要
---> 软件包 ncurses-devel.x86_64.0.5.9-14.20130511.el7_4 将被 安装
--> 正在检查事务
---> 软件包 libarchive.x86_64.0.3.1.2-14.el7_7 将被 安装
--> 解决依赖关系完成
已安装:
cmake.x86_64 0:2.8.12.2-2.el7 ncurses-devel.x86_64 0:5.9-14.20130511.el7_4
作为依赖被安装:
libarchive.x86_64 0:3.1.2-14.el7_7
完毕!
第二步:使用cmake配置参数
[root@server ~]# cd mysql-5.6.26
[root@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文件
第三步:编译安装
[root@server mysql-5.6.26]#make && make install
第四步:进行如下配置,优化mysql服务管理
[root@server mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? yes
[root@server mysql-5.6.26]#
[root@server mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld
[root@server mysql-5.6.26]# chmod 755 /etc/init.d/mysqld
[root@server mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld
[root@server mysql-5.6.26]# chkconfig mysqld --level 35 on
[root@server mysql-5.6.26]# echo "PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
[root@server mysql-5.6.26]# source /etc/profile
[root@server mysql-5.6.26]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
注意:
my-default.cnf是mysql源码安装的默认配置文件
mysql.server是服务端工具,主要作用就是为了方便启动和关闭mysql服务
mysql.server启动,默认使用/etc/my.cnf配置文件信息
第五步:新建一个mysql用户,把/usr/local/mysql/下的所有属主属组都改成mysql,并完成mysql的初始化
[root@server mysql-5.6.26]# useradd -s /sbin/nologin mysql
[root@server mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/
[root@server mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \ #指定运行mysqld进程用户名,所有通过mysqld进程创建的文件都会属于这个用户,可以是别的名字,mysql便于管理
> --ldata=/var/lib/mysql \
> --basedir=/usr/local/mysql/ \ #指定Mysql安装的绝对路径
> --datadir=/home/mysql/ #指定Mysql数据存放的绝对路径
mysql_install_db:用于完成mysql的初始化
第六步:完善mysql启动文件
[root@server mysql-5.6.26]# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/home/mysql
第七步:启动mysql,mysql的服务端口:tcp:3306
[root@server mysql-5.6.26]# service mysqld start
Starting MySQL. SUCCESS!
[root@server mysql-5.6.26]#
[root@server mysql-5.6.26]# netstat -anpt | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 81847/mysqld
第八步:指定mysql的管理用户为root,密码为abc123
[root@server mysql-5.6.26]# mysqladmin -u root -p password "abc123"
Enter password: (输入旧的密码,默认密码为空,所以直接回车)
Warning: Using a password on the command line interface can be insecure.
第九步:用root登进mysql
[root@server mysql-5.6.26]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.6.26 Source distribution
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases; #查看已有数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql> quit #退出,exit也可以
Bye
所需源码软件包:php-5.6.11.tar.bz2
第一步:yum安装gd libpng libpng-devel pcre pcre-devel libxml2-devel libjpeg-devel
[root@server ~]# yum -y install gd libpng libpng-devel pcre pcre-devel libxml2-devel libjpeg-devel
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
软件包 2:libpng-1.5.13-7.el7_2.x86_64 已安装并且是最新版本
软件包 pcre-8.32-17.el7.x86_64 已安装并且是最新版本
软件包 pcre-devel-8.32-17.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 gd.x86_64.0.2.0.35-26.el7 将被 安装
……
第二步:解压php软件包
[root@server opt]# tar xjvf php-5.6.11.tar.bz2
第三步:切换到解压目录,定制配置
[root@server opt]# cd php-5.6.11/
[root@server php-5.6.11]#
[root@server php-5.6.11]# ./configure \
--prefix=/usr/local/php5 \ #指定php安装目录
--with-gd \ #指定安装所依赖的gd库文件
--with-zlib \ #指定安装所依赖的zlib库文件,zlib是提供数据压缩用的函式库
--with-apxs2=/usr/local/apache2/bin/apxs \ #指定Apache服务能够支持访问PHP页面
--with-mysql=/usr/local/mysql/ \ #指定php的数据库为mysql
--with-config-file-path=/usr/local/php5 \ #指定php的配置文件路径
--enable-mbstring #开启mbstring扩展,使之可以支持中文等语言
第四步:编译安装
[root@server php-5.6.11]#make && make install
第五步:优化php管理
[root@server php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini
[root@server php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/
php.ini-development:php配置文件
第六步:编辑Apache的配置文件,找到两行AddType配置,在后面再插入两行内容,作用是让apache支持php文件
[root@server php-5.6.11]# vim /etc/httpd.conf
385 AddType application/x-compress .Z
386 AddType application/x-gzip .gz .tgz
387 AddType application/x-httpd-php .php
388 AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.php index.html #apache默认不支持php页面,添加就可以访问了
</IfModule>
第七步:在apache的默认站点目录下编写一个php的页面
[root@server php-5.6.11]# vim /usr/local/apache2/htdocs/index.php
<?php
phpinfo();
?>
第八步:重启Apache的服务
[root@server php-5.6.11]# service httpd stop
[root@server php-5.6.11]# service httpd start
第九步:验证访问网站:http://192.168.100.120/index.php
出现如下网页说明LAMP架构已经搭建完成了!
第一步:新建一个数据库bbs,并新建一个登陆用户bbsuser,密码是admin123,授权让其可以在任何主机上登录, 并对所有数据库有查询、插入、修改、删除的权限,%表示任意
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”
mysql> CREATE DATABASE bbs;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges; #刷新数据库
Query OK, 0 rows affected (0.00 sec)
mysql> show databases; #查看数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| bbs |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql> quit
Bye
第二步:解压Discuz软件包,指定解压到/opt/dis
[root@server bbs]# unzip /opt/Discuz_X2.5_SC_UTF8.zip -d /opt/dis
第三步:将解压目录下的网站相关页面拷贝到apache默认站点下的bbs目录下
[root@server opt]# cd dis
[root@server dis]# cp -r upload/ /usr/local/apache2/htdocs/bbs
第四步:改变相关目录的属主属组否则无法安装
[root@server dis]# cd /usr/local/apache2/htdocs/bbs
[root@server bbs]# chown -R daemon ./config/
[root@server bbs]# chown -R daemon ./data/
[root@server bbs]# chown -R daemon ./uc_client/
[root@server bbs]# chown -R daemon ./uc_server/
第五步:访问192.168.100.120/bbs/ 安装向导一步步安装Discuz
如果第四步没有修改属主属组的话,这里权限会显示不可写
第六步:安装完成后验证登陆前台页面
第七步:安装完成后验证登陆后台
用户名:admin
密码:abc123
第八步:注册一个新的用户
第九步:进入服务器上的数据库中查看刚才新建的用户信息
[root@server dis]# mysql -u root -p
Enter password:
mysql> use bbs; //进入bbs数据库
Database changed
mysql>
mysql> show tables; //查看所有表
mysql> desc pre_common_member; // desc命令查看表的结构信息
// 用户信息存在于pre_common_member表中
mysql> select uid,email,username,password,status from pre_common_member;
//查询用户的id,邮箱,用户名和密码还有状态