注:在本篇博客中Apache、mysql,php等安裝包鏈接php
https://pan.baidu.com/s/1lDlLQ0_HtP9ue6CzUzYaughtml
提取碼: ewss前端
systemctl stop firewalld systemctl disable firewalld setenforce 0
#所需軟件包直接傳到/opt目錄下 httpd-2.4.29.tar.gz apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz #apr組件包用於支持Apache上層應用跨平臺,提供底層接口庫,能有效的下降併發鏈接數、下降進程和減小訪問堵塞。
yum -y install \
gcc \ # c語言的編譯器 gcc-c++ \ # c++的編譯器 make \ # 源代碼編譯器(源代碼轉換成二進制文件) pcre \ # pcre是一個Perl函數庫,包括perl兼容的正則表達式庫 pcre-devel \ # perl的接口開發包 expat-devel \ # 用於支持網站解析HTML、XML文件 perl # perl語言編譯器 yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl # 安裝環境依賴包
cd /opt/ #解壓源文件 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 #將解壓的文件移動到/opt/httpd的目錄中 mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util cd /opt/httpd-2.4.29/ ./configure \ --prefix=/usr/local/httpd \ # 指定將 httpd 服務程序的安裝路徑 --enable-so \ # 啓用動態加載模塊支持,使 httpd 具有進一步擴展功能的能力 --enable-rewrite \ # 啓用網頁地址重寫功能,用於網站優化、防盜鏈及目錄遷移維護 --enable-charset-lite \ # 啓動字符集支持,以便支持使用各類字符集編碼的頁面 --enable-cgi # 啓用CGI(通用網關接口)腳本程序支持, 便於網站的外部擴展應用訪問能力 ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
make # make -j 2 表示開2核同時進行編譯 make install
ln -s /usr/local/httpd/conf/httpd.conf /etc/ ln -s /usr/local/httpd/bin/* /usr/local/bin/
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd # 將模板文件apachect複製過來用於service服務管理 chmod +x /etc/init.d/httpd vi /etc/init.d/httpd # 添加此三行內容
#!/bin/bash # 在第一行前插入新行 # chkconfig: 35 85 21 # 35級別自動運行 第85個啓動 第21個關閉 # description: Apache is a World Wide Web server # 註釋內容,能夠忽略 chkconfig --add httpd #將httpd服務加入到service管理器
# 重啓服務 systemctl start httpd.service 或 service httpd start
vim /lib/systemd/system/httpd.service [Unit] Description=The Apache HTTP Server #描述 After=network.target #描述服務類別 [Service] Type=forking # 後臺運行方式 PIDFile=/usr/local/httpd/logs/httpd.pid # PID文件位置 ExecStart=/usr/local/bin/apachectl $OPTIONS # 啓動服務 ExecReload=/bin/kill -HUP $MAINPID # 根據PID重載配置 [Install] WantedBy=multi-user.target systemctl start httpd.service # 啓動httpd 服務 systemctl enable httpd.service # 設置httpd服務開機自啓
vim /etc/httpd.conf
--52行--修改 Listen 192.168.80.10:80
--197行--取消註釋,修改 ServerName www.kgc.com:80
--221行--默認首頁存放路徑 DocumentRoot "/usr/local/httpd/htdocs"
--255行--默認首頁文件名設置 DirectoryIndex index.html httpd -t 或 apachectl -t # 檢查配置文件的配置項是否有誤 cat /usr/local/httpd/htdocs/index.html # 查看httpd服務默認首頁文件內容 systemctl restart httpd.service
netstat -anpt | grep 80 echo "192.168.80.10 www.kgc.com" >> /etc/hosts # 將ip和域名 追加到/etc/hosts文件中 http://192.168.80.10
http://www.kgc.com
mysql-5.7.17.tar.gz boost_1_59_0.tar.gz # 支持c++的運行庫
yum -y install \ gcc \ gcc-c++ \ ncurses \ # 字符終端下圖形互動功能的動態庫 ncurses-devel \ # ncurses開發包 bison \ # 語法分析器 cmake # mysql須要用cmake編譯安裝
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake # 安裝依賴包
tar zxvf mysql-5.7.17.tar.gz tar zxvf boost_1_59_0.tar.gz cd /opt mv boost_1_59_0 /usr/local/boost #重命名 cd /opt/mysql-5.7.17/ cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ # 指定mysql的安裝路徑 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ # 指定mysql進程監聽套接字文件(數據庫鏈接文件)的存儲路徑 -DSYSCONFDIR=/etc \ # 指定配置文件的存儲路徑 -DSYSTEMD_PID_DIR=/usr/local/mysql \ # 指定進程文件的存儲路徑 -DDEFAULT_CHARSET=utf8 \ # 指定默認使用的字符集編碼,如 utf8 -DDEFAULT_COLLATION=utf8_general_ci \ # 指定默認使用的字符集校對規則 -DWITH_EXTRA_CHARSETS=all \ # 指定支持其餘字符集編碼 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ # 安裝INNOBASE存儲引擎 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ # 安裝ARCHIVE存儲引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ # 安裝BLACKHOLE存儲引擎 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ # 安裝FEDERATED存儲引擎 -DMYSQL_DATADIR=/usr/local/mysql/data \ # 指定數據庫文件的存儲路徑 -DWITH_BOOST=/usr/local/boost \ # 指定boost的路徑,若使用mysql-boost集成包安裝則-DWITH_BOOST=boost -DWITH_SYSTEMD=1 # 生成便於systemctl管理的文件 存儲引擎選項: MYISAM,MERGE,MEMORY,和CSV引擎是默認編譯到服務器中,並不須要明確地安裝。 靜態編譯一個存儲引擎到服務器,使用-DWITH_engine_STORAGE_ENGINE= 1 可用的存儲引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
注:若是在CMAKE的過程當中有報錯,當報錯解決後,須要把源碼目錄中的CMakeCache.txt文件刪除,而後再從新CMAKE,不然錯誤依舊
make && make install 編譯 及安裝 等待時間稍長
useradd -M -s /sbin/nologin mysql
vim /etc/my.cnf # 刪除原配置項,再從新添加下面內容 [client] # 客戶端設置 port = 3306 socket = /usr/local/mysql/mysql.sock [mysql] # 服務端設置 port = 3306 socket = /usr/local/mysql/mysql.sock auto-rehash # 開啓自動補全功能 [mysqld] # 服務全局設置 user = mysql #設置管理用戶 basedir=/usr/local/mysql # 指定數據庫的安裝目錄 datadir=/usr/local/mysql/data # 指定數據庫文件的存儲路徑 port = 3306 # 指定端口 character-set-server=utf8 # 設置服務器字符集編碼格式爲utf8 pid-file = /usr/local/mysql/mysqld.pid # 指定pid 進程文件路徑 socket=/usr/local/mysql/mysql.sock # 指定數據庫鏈接文件 bind-address = 0.0.0.0 # 設置監聽地址,0.0.0.0表明容許全部,如容許多個IP需空格隔開 skip-name-resolve # 禁用DNS解析 max_connections=2048 # 設置mysql的最大鏈接數 default-storage-engine=INNODB # 指定默認存儲引擎 max_allowed_packet=16M # 設置數據庫接收的數據包大小的最大值 server-id = 1 # 指定服務ID號 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
sql_mode經常使用值以下: NO_ENGINE_SUBSTITUTION 若是須要的存儲引擎被禁用或未編譯,那麼拋出錯誤。不設置此值時,用默認的存儲引擎替代,並拋出一個異常 STRICT_TRANS_TABLES 在該模式下,若是一個值不能插入到一個事務表中,則中斷當前的操做,對非事務表不作限制 NO_AUTO_CREATE_USER 禁止GRANT建立密碼爲空的用戶 NO_AUTO_VALUE_ON_ZERO mysql中的自增加列能夠從0開始。默認狀況下自增加列是從1開始的,若是你插入值爲0的數據會報錯 NO_ZERO_IN_DATE 不容許日期和月份爲零 NO_ZERO_DATE mysql數據庫不容許插入零日期,插入零日期會拋出錯誤而不是警告 ERROR_FOR_DIVISION_BY_ZERO 在INSERT或UPDATE過程當中,若是數據被零除,則產生錯誤而非警告。默認狀況下數據被零除時MySQL返回NULL PIPES_AS_CONCAT 將"||"視爲字符串的鏈接操做符而非或運算符,這和Oracle數據庫是同樣的,也和字符串的拼接函數Concat相相似 ANSI_QUOTES 啓用ANSI_QUOTES後,不能用雙引號來引用字符串,由於它被解釋爲識別符
# 腳本文件,直接可刷
[client] port = 3306
default-character-set=utf8 socket=/usr/local/mysql/mysql.sock [mysql] port = 3306
default-character-set=utf8 socket = /usr/local/mysql/mysql.sock auto-rehash [mysqld] user = mysql basedir=/usr/local/mysql datadir=/usr/local/mysql/data port = 3306 character-set-server=utf8 pid-file = /usr/local/mysql/mysqld.pid socket=/usr/local/mysql/mysql.sock bind-address = 0.0.0.0 skip-name-resolve max_connections=2048
default-storage-engine=INNODB max_allowed_packet=16M server-id = 1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
chown -R mysql:mysql /usr/local/mysql/ chown mysql:mysql /etc/my.cnf
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile source /etc/profile
cd /usr/local/mysql/bin/ ./mysqld \ --initialize-insecure \ # 生成初始化密碼爲空 --user=mysql \ # 指定管理用戶 --basedir=/usr/local/mysql \ # 指定數據庫的安裝目錄 --datadir=/usr/local/mysql/data # 指定數據庫文件的存儲路徑
# 腳本文件,可直接刷一下內容
./mysqld \ --initialize-insecure \ --user=mysql \ --basedir=/usr/local/mysql \ --datadir=/usr/local/mysql/data
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ #用於systemctl服務管理 systemctl daemon-reload #刷新識別 systemctl start mysqld.service #開啓服務 systemctl enable mysqld #開機自啓動 netstat -napt | grep 3306 #查看端口
mysqladmin -u root -p password "abc123" #給root帳號設置密碼爲abc123,提示輸入的是原始密碼(爲空)
mysql -u root -p grant all privileges on *.* to 'root'@'%' identified by 'abc123'; # 授予root用戶能夠在全部終端遠程登陸,使用的密碼是abc123,並對全部數據庫和全部表有操做權限 show databases; # 查看當前已有的數據庫
php-7.1.10.tar.bz2
yum -y install \ gd \ libjpeg libjpeg-devel \ libpng libpng-devel \ freetype freetype-devel \ libxml2 libxml2-devel \ zlib zlib-devel \ curl curl-devel \ openssl openssl-devel
cd /opt tar jxvf php-7.1.10.tar.bz2 cd /opt/php-7.1.10/ ./configure \ --prefix=/usr/local/php7 \ # 指定將 PHP 程序的安裝路徑 --with-apxs2=/usr/local/httpd/bin/apxs \ # 指定Apache httpd服務提供的apxs 模塊支持程序的文件位置 --with-mysql-sock=/usr/local/mysql/mysql.sock \ # 指定mysql 數據庫鏈接文件的存儲路徑 --with-config-file-path=/usr/local/php7 # 設置 PHP 的配置文件 php.ini 將要存放的位置 --with-mysqli \ # 添加 MySQL 擴展支持 #mysqli擴展技術不只能夠調用MySQL的存儲過程、處理MySQL事務,並且還可使訪問數據庫工做變得更加穩定 --with-zlib \ # 支持zlib功能,提供數據壓縮 --with-curl \ # 開啓curl擴展功能,實現HTTP的Get下載和Post請求的方法 --with-gd \ # 激活gd 庫的支持 --with-jpeg-dir \ # 激活jpeg 的支持 --with-png-dir \ # 激活png 的支持 --with-freetype-dir \ --with-openssl \ --enable-mbstring \ # 啓用多字節字符串功能,以便支持中文等代碼 --enable-xml \ # 開啓擴展性標記語言模塊 --enable-session \ # 會話 --enable-ftp \ # 文本傳輸協議 --enable-pdo \ # 函數庫 --enable-tokenizer \ # 令牌解釋器 --enable-zip
# 腳本文件,可直接刷
./configure \ --prefix=/usr/local/php7 \ --with-apxs2=/usr/local/httpd/bin/apxs \ --with-mysql-sock=/usr/local/mysql/mysql.sock \ --with-config-file-path=/usr/local/php7 \ --with-mysqli \ --with-zlib \ --with-curl \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-freetype-dir \ --with-openssl \ --enable-mbstring \ --enable-xml \ --enable-session \ --enable-ftp \ --enable-pdo \ --enable-tokenizer \ --enable-zip
make && make install
cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini # 在測試環境時使用php.ini-development文件,而在生產環境時使用php.ini-production文件 vim /usr/local/php7/php.ini --1170行--修改 mysqli.default_socket = /usr/local/mysql/mysql.sock --939行--取消註釋,修改 date.timezone = Asia/Shanghai
ln -s /usr/local/php7/bin/* /usr/local/bin/ php -m # 查看PHP 加載了哪些模塊
vim /etc/httpd.conf --393行--插入如下內容 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps --255行--修改首頁文件名設置 DirectoryIndex index.html index.php ---檢查支持php7的模塊是否存在------ LoadModule php7_module modules/libphp7.so
rm -rf /usr/local/httpd/htdocs/index.html vim /usr/local/httpd/htdocs/index.php <?php phpinfo(); ?> systemctl restart httpd.service 瀏覽器訪問 http://192.168.80.10
mysql -u root -p CREATE DATABASE bbs; #建立一個數據庫 GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123'; #把bbs數據庫裏面全部表的權限授予給bbsuser,並設置密碼admin123 flush privileges; #刷新數據庫 show databases;
unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis cd /opt/dis/dir_SC_UTF8/ cp -r upload/ /usr/local/httpd/htdocs/bbs #上傳站點更新包
ps aux #查看發現論壇進程的用戶名是daemon 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
論壇頁面訪問 http://192.168.80.10/bbs
---------------------------------------------------------------------------------------------------------- 數據庫服務器:localhost ###本地架設就用localhost,如何不是在在本機上就要填寫IP地址和端口號 數據庫名字:bbs 數據庫用戶名:bbsuser 數據庫密碼:admin123 管理員帳號:admin 管理員密碼:admin123 ---------------------------------------------------------------------------------------------------------- 論壇後臺管理員頁面 http://192.168.80.10/bbs/admin.php