這裡寫目錄标題
-
- 一、搭建環境
- 二、安裝apache
- 三、安裝mysql
- 四、安裝php
- 五、搭建Discuz!論壇
一、搭建環境
一台CentOS 7.6最小化安裝虛拟機
二、安裝apache
所需源碼軟體包:
- apr-1.6.2.tar.gz
- apr-util-1.6.0.tar.gz
- httpd-2.4.29.tar.bz2
tips:apr包是apache的依賴包,apr、apr-util軟體包支援Apache上層應用跨平台,提供底層接口庫
第一步:将軟體包拷貝到/opt目錄下,解壓,然後把apr工具移動到httpd軟體包的srclib下面
[[email protected] opt]# ls
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
[[email protected] opt]#
[[email protected] opt]# tar xf apr-1.6.2.tar.gz
[[email protected] opt]# tar xf apr-util-1.6.0.tar.gz
[[email protected] opt]# tar xf httpd-2.4.29.tar.bz2
[[email protected] 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
[[email protected] opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[[email protected] opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
第二步:yum安裝gcc gcc-c++ make pcre-devel expat-devel perl(全部安裝缺一不可)
[[email protected] 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
完畢!
- gcc、gcc-c++:liunx環境中的c/c++編譯器
-
PCRE(Perl Compatible Regular Expressions)是一個輕量級的Perl函數庫,包括 perl
相容的正規表達式庫,功能和性能都很強大
- expat是一個由C語言編寫的XML解析庫
- perl是perl語言解釋器,負責解釋執行perl語言程式
第三步:配置,定制選項
[[email protected] 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腳本程式支援,便于擴充網站的應用通路能力
第四步:編譯安裝
第五步:添加服務讓chkconfig管理
為了便于通過chkconfig進行管理httpd系統服務,在檔案的開頭添加chkconfig識别配置
[[email protected] bin]# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
#将apachectl複制到init.d目錄下便于service管理
[[email protected] 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
……
[[email protected] bin]# chkconfig --add httpd #添加服務
tips:因為第一次安裝apache報錯重裝以後目錄改變為/usr/local/apache2,如果第一次正确安裝目錄為/usr/local/httpd
第六步:修改apache配置檔案
[[email protected] bin]# vim /usr/local/apache2/conf/httpd.conf
ServerName www.kgc.com:80 #指定域名
Listen 192.168.100.120:80 #指定監聽ip和端口(本機)
[[email protected] httpd]# ln -s /usr/local/apache2/conf/httpd.conf /etc/
[[email protected] httpd]# ln -s /usr/local/apache2/bin/* /usr/local/bin/
#建立軟連結,/usr/local/bin/是系統環境變量,存放可執行指令,否則需要用絕對路徑才能運作指令
第七步:關閉防火牆和selinux
[[email protected] httpd]# systemctl stop firewalld.service
[[email protected] httpd]# setenforce 0
第八步:檢查配置檔案文法
[[email protected] local]# httpd -t
Syntax OK
第九步:啟動httpd服務
[[email protected] local]# service httpd start
[[email protected] local]# netstat -anpt| grep 80
tcp 0 0 192.168.100.120:80 0.0.0.0:* LISTEN 66657/httpd
三、安裝mysql
所需源碼包:mysql-5.6.26.tar.gz
第一步:yum安裝ncurses-devel、autoconf、cmake
[[email protected] ~]# 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
完畢!
- ncurses庫是一個Linux系統下的圖形支援的函數庫,字元終端處理庫,包括面闆和菜單。
- autoconf是一個用于生成可以自動地配置軟體源碼包,用以适應多種UNIX類系統的shell腳本工具
-
cmake:允許開發者編寫一種平台無關的 CMakeList.txt
檔案來定制整個編譯流程,然後再根據目标使用者的平台進一步生成所需的本地化 Makefile 和工程檔案
第二步:使用cmake配置參數
[[email protected] ~]# 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檔案
第三步:編譯安裝
第四步:進行如下配置,優化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
所需源碼軟體包:php-5.6.11.tar.bz2
第一步:yum安裝gd libpng libpng-devel pcre pcre-devel libxml2-devel libjpeg-devel
[[email protected] ~]# 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 将被 安裝
……
- gd 庫是 PHP 處理圖形的擴充庫,它提供了一系列用來處理圖檔的 API(應用程式程式設計接口),使用 gd庫可以處理圖檔或者生成圖檔。在網站上,gd 庫通常用來生成縮略圖,或者對圖檔加水印,或者生成漢字驗證碼,或者對網站資料生成報表等。
- libpng是一個跨平台的png解碼庫,友善易用。基本上如果是支援fopen之類函數的平台都可以支援
- libxml2是一個用來解析XML文檔的函數庫。它用 C 語言寫成,并且能被多種語言所調用,可移植性非常好
- libjpeg是ijg組織推出的jpeg圖檔工具套件,采用C語言編寫,其内含的jpegtran工具是google官方推薦的無損jpeg圖檔壓縮工具
第二步:解壓php軟體包
第三步:切換到解壓目錄,定制配置
[[email protected] 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擴充,使之可以支援中文等語言
第四步:編譯安裝
第五步:優化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架構已經搭建完成了!

五、搭建Discuz!論壇
第一步:建立一個資料庫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
第三步:将解壓目錄下的網站相關頁面拷貝到apache預設站點下的bbs目錄下
[[email protected] opt]# cd dis
[[email protected] dis]# cp -r upload/ /usr/local/apache2/htdocs/bbs
第四步:改變相關目錄的屬主屬組否則無法安裝
[[email protected] dis]# cd /usr/local/apache2/htdocs/bbs
[[email protected] bbs]# chown -R daemon ./config/
[[email protected] bbs]# chown -R daemon ./data/
[[email protected] bbs]# chown -R daemon ./uc_client/
[[email protected] bbs]# chown -R daemon ./uc_server/
第五步:通路192.168.100.120/bbs/ 安裝向導一步步安裝Discuz
如果第四步沒有修改屬主屬組的話,這裡權限會顯示不可寫
第六步:安裝完成後驗證登陸前台頁面
第七步:安裝完成後驗證登陸背景
使用者名:admin
密碼:abc123
第八步:注冊一個新的使用者
第九步:進入伺服器上的資料庫中檢視剛才建立的使用者資訊
[[email protected] 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,郵箱,使用者名和密碼還有狀态