摘要:免責聲明本教程僅以個人經驗撰寫,未必適合所有系統環境。如在使用本教程途中,出現無法挽救的損失如數據丟失等,本人概不負責。本文最終服務器環境配置下面開始進入教程吧。教程結束本次教程本人在下搭建成功。
注意:本教程使用干凈的 CentOS 7進行安裝,如果您已安裝其他環境或軟件,涉及到內核升級,請您妥善備份,可能導致您已安裝的軟件不兼容或出現其他問題。
免責聲明:本教程僅以個人經驗撰寫,未必適合所有系統環境。如在使用本教程途中,出現無法挽救的損失(如數據丟失等),本人概不負責。
再次提醒:使用本教程前請妥善備份現有數據!使用本教程前請妥善備份現有數據!使用本教程前請妥善備份現有數據!
如果您使用本教程的方法過程中出現問題,您可留言,我將在能力范圍內盡可能協助解決。
本文最終服務器環境配置:
Apache 2.7.28 subversion 1.11.0 MariaDB 10.3.11 php 7.3.0
下面開始進入教程吧。
一. 升級內核和軟件包[root@instance-l79ltvo6 ~]# yum -y update ... Complete!
直到控制臺輸出Complete!說明升級完成,最好還是重啟一下吧
[root@instance-l79ltvo6 ~]# reboot二. 安裝 apache 2.4.37
先安裝一些基本依賴
[root@instance-l79ltvo6 ~]# yum install -y gcc gcc-c++ openssl-devel zlib-devel //在root目錄下創建一個soft文件夾,我們本次教程的軟件將都放在該目錄下 [root@instance-l79ltvo6 ~]# mkdir soft [root@instance-l79ltvo6 ~]# cd soft
然后開始安裝apr、apr-util、pcre 3個依賴,最后再安裝 apache1. 安裝 apr
[root@instance-l79ltvo6 ~]# wget http://mirror.bit.edu.cn/apache/apr/apr-1.6.5.tar.gz [root@instance-l79ltvo6 ~]# tar zxf apr-1.6.5.tar.gz [root@instance-l79ltvo6 ~]# cd apr-1.6.5/ [root@instance-l79ltvo6 ~]# ./configure --prefix=/usr/local/apr [root@instance-l79ltvo6 ~]# make && make install [root@instance-l79ltvo6 ~]# cd .. //返回上級目錄
因為我們使用了 apr 1.6.5 的依賴,所以下面我們必須要用 apr-util 1.6.1 版本,apr-util 1.6.12 安裝 expat
不再捆綁安裝 expat ,但又需要 expat 的支持,所以我們得手動先安裝 expat。不然編譯 apache 的時候會報錯。
[root@instance-l79ltvo6 ~]# wget https://sourceforge.net/projects/expat/files/expat/2.2.3/expat-2.2.3.tar.bz2 [root@instance-l79ltvo6 ~]# tar jxf expat-2.2.3.tar.bz2 //使用minimal安裝的centos請先執行yum install -y bzip2 [root@instance-l79ltvo6 ~]# cd expat-2.2.3/ [root@instance-l79ltvo6 ~]# ./configure --prefix=/usr/local/expat [root@instance-l79ltvo6 ~]# make && make install [root@instance-l79ltvo6 ~]# cd .. //返回上級目錄3 安裝 apr-util
[root@instance-l79ltvo6 ~]# wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.6.1.tar.gz [root@instance-l79ltvo6 ~]# tar zxf apr-util-1.6.1.tar.gz [root@instance-l79ltvo6 ~]# cd apr-util-1.6.1/ [root@instance-l79ltvo6 ~]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-expat=/usr/local/expat [root@instance-l79ltvo6 ~]# make && make install [root@instance-l79ltvo6 ~]# cd .. //返回上級目錄4 安裝 pcre
[root@instance-l79ltvo6 ~]# wget http://sourceforge.mirrorservice.org/p/pc/pcre/pcre/8.41/pcre-8.41.tar.gz [root@instance-l79ltvo6 ~]# tar zxf pcre-8.41.tar.gz [root@instance-l79ltvo6 ~]# cd pcre-8.41/ [root@instance-l79ltvo6 ~]# ./configure --prefix=/usr/local/pcre [root@instance-l79ltvo6 ~]# make && make install [root@instance-l79ltvo6 ~]# cd .. //返回上級目錄5 安裝 apache
[root@instance-l79ltvo6 ~]# wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.37.tar.gz [root@instance-l79ltvo6 ~]# tar zxf httpd-2.4.37.tar.gz [root@instance-l79ltvo6 ~]# cd httpd-2.4.37/ [root@instance-l79ltvo6 ~]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --with-ssl --with-zlib --with-mpm=worker --enable-rewrite --enable-so --enable-ssl --enable-cache --enable-disk-cache --enable-file-cache --enable-mem-cache --enable-headers --enable-expires --enable-deflate --enable-dav --enable-dav-fs --enable-cgi --enable-proxy --enable-proxy-fcgi //這里請根據自身實際情況開啟相關模塊 [root@instance-l79ltvo6 ~]# make && make install [root@instance-l79ltvo6 ~]# cd .. //返回上級目錄6 修改 apache 配置文件
編輯/usr/local/apache/conf/httpd.conf
#LoadModule ssl_module modules/mod_ssl.so //去掉#開啟 SSL #LoadModule rewrite_module modules/mod_rewrite.so //去掉#開啟 rewrite #ServerName www.example.com:80 //去掉#并把 www.example.com:80 修改為你的IP:80或者域名 #Include conf/extra/httpd-vhosts.conf //去掉#,開啟虛擬主機配置 //如果你需要安裝svn服務,你需要開啟 #LoadModule dav_module modules/mod_dav.so//去掉#
找到以下代碼并更換
AllowOverride none Require all denied //修改為 Options Indexes FollowSymLinks //如不需要顯示目錄,把 Indexes 去掉 AllowOverride ALL //開啟rewrite Require all granted
編輯/usr/local/apache/conf/extra/httpd-vhosts.conf,刪除全部,并添加下列代碼
7 添加啟動服務DocumentRoot "/usr/local/apache/htdocs" ServerName your IP //你的IP地址 ErrorLog "logs/你的IP-error_log" CustomLog "logs/你的IP-access_log" common
[root@instance-l79ltvo6 ~]# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/ [root@instance-l79ltvo6 ~]# mv /etc/rc.d/init.d/apachectl /etc/rc.d/init.d/httpd [root@instance-l79ltvo6 ~]# cd /etc/rc.d/init.d/
編輯 httpd ,在 #!/bin/sh 下面添加下面代碼
# Comments to support chkconfig on RedHat Linux # chkconfig: 2345 90 90 # description:http server
注冊服務
[root@instance-l79ltvo6 ~]# chkconfig --add httpd [root@instance-l79ltvo6 ~]# chkconfig httpd on
把 apache 加入系統環境變量
[root@instance-l79ltvo6 ~]# vim /etc/profile.d/httpd.sh //寫入 export PATH=$PATH:/usr/local/apache/bin //保存后賦予執行權限 [root@instance-l79ltvo6 ~]# chmod 0777 /etc/profile.d/httpd.sh [root@instance-l79ltvo6 ~]# source /etc/profile.d/httpd.sh8 啟動 apache
首先檢查配置文件是否出錯
[root@instance-l79ltvo6 ~]# /usr/local/apache/bin/apachectl -t Syntax OK //說明沒問題,可以直接啟動
啟動 apache
[root@instance-l79ltvo6 ~]# systemctl start httpd.service
然后打開瀏覽器,輸入你的IP地址,看到It works!,說明apache成功啟動了
It works!三. 安裝 subversion 1.11.0
(如不需要svn服務請跳過)1 安裝 scons
[root@instance-l79ltvo6 ~]# cd /root/soft [root@instance-l79ltvo6 ~]# wget http://sourceforge.mirrorservice.org/s/sc/scons/scons/2.5.1/scons-2.5.1.tar.gz [root@instance-l79ltvo6 ~]# tar zxf scons-2.5.1.tar.gz [root@instance-l79ltvo6 ~]# cd scons-2.5.1/ [root@instance-l79ltvo6 ~]# python setup.py install --prefix=/usr/local/scons [root@instance-l79ltvo6 ~]# cd .. //返回上級目錄2 安裝 serf
[root@instance-l79ltvo6 ~]# wget http://mirror.bit.edu.cn/apache/serf/serf-1.3.9.tar.bz2 [root@instance-l79ltvo6 ~]# tar xf serf-1.3.9.tar.bz2 [root@instance-l79ltvo6 ~]# cd serf-1.3.9/ [root@instance-l79ltvo6 ~]# /usr/local/scons/bin/scons prefix=/usr/local/serf APR=/usr/local/apr APU=/usr/local/apr-util [root@instance-l79ltvo6 ~]# /usr/local/scons/bin/scons install [root@instance-l79ltvo6 ~]# cd .. //返回上級目錄3 編譯 subverion
[root@instance-l79ltvo6 ~]# wget http://www.sqlite.org/2017/sqlite-amalgamation-3190300.zip [root@instance-l79ltvo6 ~]# wget https://mirror.bit.edu.cn/apache/subversion/subversion-1.11.0.tar.gz [root@instance-l79ltvo6 ~]# tar zxf subversion-1.11.0.tar.gz [root@instance-l79ltvo6 ~]# unzip sqlite-amalgamation-3190300.zip [root@instance-l79ltvo6 ~]# mv /root/soft/sqlite-amalgamation-3190300 /root/soft/subversion-1.11.0/sqlite-amalgamation [root@instance-l79ltvo6 ~]# cd subversion-1.11.0/ [root@instance-l79ltvo6 ~]# ./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-serf=/usr/local --enable-mod-activation --with-apache-libexecdir=/usr/local/apache/modules --with-apxs=/usr/local/apache/bin/apxs --without-berkeley-db --with-lz4=internal --with-utf8proc=internal [root@instance-l79ltvo6 ~]# make && make install
給SVN創建一個名為svn的非登錄用戶
[root@instance-l79ltvo6 ~]# useradd svn -s /sbin/nologin
把svn加入到系統環境變量
[root@instance-l79ltvo6 ~]# vim /etc/profile.d/svn.sh //添加 export PATH=$PATH:/usr/local/svn/bin 保存后賦予執行權限 [root@instance-l79ltvo6 ~]# chmod 0777 /etc/profile.d/svn.sh [root@instance-l79ltvo6 ~]# source /etc/profile.d/svn.sh
在/etc/ld.so.conf.d/創建一個serf-1.3.9.conf,指定lib目錄,不然svn啟動會報錯
[root@instance-l79ltvo6 ~]# vim /etc/ld.so.conf.d/serf-1.3.9.conf //添加 /usr/local/lib 保存后刷新 [root@instance-l79ltvo6 ~]# /sbin/ldconfig -v4 配置 subverion
下面我們先創建一個 test 項目
[root@instance-l79ltvo6 ~]# mkdir -p /data/svn [root@instance-l79ltvo6 ~]# cd /data/svn [root@instance-l79ltvo6 ~]# svnadmin create test
然后我們打開 /data/svn/test /就會發現里面自動創建了一些目錄
conf db format hooks locks README.txt
在conf里面的文件就是配置該項目的人員和權限,但如果多個項目,開發人員一樣,那就要配置很多次了,這樣很麻煩,所以我們要弄成配置一次權限就能直接應用到所有項目里面。
[root@instance-l79ltvo6 ~]# cp /data/svn/test/conf/authz /data/svn/authz [root@instance-l79ltvo6 ~]# cp /data/svn/test/conf/passwd /data/svn/passwd [root@instance-l79ltvo6 ~]# cp /data/svn/test/conf/svnserve.conf /data/svn/svnserve.conf //然后設置一個用戶密碼,這里以創建root用戶為例,這里的演示是將密碼加密而非明文存儲 [root@instance-l79ltvo6 ~]# htpasswd -c /data/svn/passwd root New password: //輸入密碼 Re-type new password: //再次輸入密碼
這樣 root 用戶就創建完成了,創建其他用戶同理。 接下來我們需要修改配置文件
[root@instance-l79ltvo6 ~]# vim /data/svn/svnserve.conf //刪除所有內容,增加下面的代碼 [general] anon-access = read auth-access = write password-db = passwd authz-db = authz [sasl] //保存 [root@instance-l79ltvo6 ~]# vim /data/svn/authz //刪除所有內容,增加下面的代碼 [aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] administrators = root [/] @administrators=rw [test:/] * = r //保存
我們嘗試啟動下svn服務
[root@instance-l79ltvo6 ~]# svnserve --config-file /data/svn/svnserve.conf -d -r /data/svn
沒有報錯,說明啟動成功了
把/data/svn/目錄的擁有者更改為svn
[root@instance-l79ltvo6 ~]# chown -R svn:svn /data/svn
最后我們需要修改 apache 的相關配置文件
編輯/usr/local/apche/conf/httpd.conf
//找到 User daemon Group daemon //修改為 User svn Group svn
編輯/usr/local/apache/conf/extra/httpd-vhost.conf,把剛剛那次編輯的內容更換為
ServerName 你的IP ErrorLog "logs/你的IP-error_log" CustomLog "logs/你的IP-access_log" common DAV svn #support more repositories SVNParentPath /data/svn #list all repositories #SVNListParentPath on AuthType Basic AuthName "Please input Username and Password" AuthUserFile /data/svn/passwd AuthzSVNAccessFile /data/svn/authz Require valid-user
然后停止 apache 服務
[root@instance-l79ltvo6 ~]# systemctl stop httpd.service
檢查 apache 配置文件是否出錯
[root@instance-l79ltvo6 ~]# /usr/local/apache/bin/apachectl -t Syntax OK //說明沒問題,可以直接啟動
重新啟動 apache
[root@instance-l79ltvo6 ~]# systemctl start httpd.service
打開瀏覽器訪問http://你的ip/svn/test,提示輸入賬號密碼 也可以使用TortoiseSVN進行操作
輸入剛剛設置的賬號密碼后顯示
test - Revision 0: /
說明配置成功,apache+svn服務啟動成功四. 安裝 MariaDB 10.3.11
參考https://segmentfault.com/a/11...,把相關版本號更換為10.3.11即可(第6步無需操作:6. 復制MariaDB配置文件到/etc目錄)五. 安裝 PHP 7.3.0
先安裝基本依賴
[root@instance-l79ltvo6 ~]# yum -y install gcc gcc-c++ autoconf automake libtool re2c flex bison php-mcrypt libmcrypt libmcrypt-devel openssl-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel zlib-devel mcrypt bzip2-devel libicu-devel systemd-devel mhash postgresql-devel libxslt libxslt-devel
安裝libzip
[root@instance-l79ltvo6 ~]# cd /root/soft [root@instance-l79ltvo6 ~]# wget https://nih.at/libzip/libzip-1.2.0.tar.gz [root@instance-l79ltvo6 ~]# tar -zxvf libzip-1.2.0.tar.gz [root@instance-l79ltvo6 ~]# cd libzip-1.2.0 [root@instance-l79ltvo6 ~]# ./configure [root@instance-l79ltvo6 ~]# make && make install
即使安裝了 libzip ,編譯PHP的時候也可能會出現找不到 zipconf.h,所以手動復制一下
[root@instance-l79ltvo6 ~]# cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h
添加搜索路徑到配置文件
[root@instance-l79ltvo6 ~]# echo "/usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64">>/etc/ld.so.conf //更新配置 [root@instance-l79ltvo6 ~]# ldconfig -v
編譯 PHP
[root@instance-l79ltvo6 ~]# cd /root/soft [root@instance-l79ltvo6 ~]# wget http://cn2.php.net/distributions/php-7.3.0.tar.gz [root@instance-l79ltvo6 ~]# tar zxf php-7.3.0.tar.gz [root@instance-l79ltvo6 ~]# cd php-7.3.0/ [root@instance-l79ltvo6 ~]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-mysqlnd [root@instance-l79ltvo6 ~]# make && make install ... //漫長的等待
編譯成功
[PEAR] Archive_Tar - installed: 1.4.3 [PEAR] Console_Getopt - installed: 1.4.1 [PEAR] Structures_Graph- installed: 1.1.1 [PEAR] XML_Util - installed: 1.4.2 [PEAR] PEAR - installed: 1.10.5 Wrote PEAR system config file at: /usr/local/php/etc/pear.conf You may want to add: /usr/local/php/lib/php to your php.ini include_path /root/soft/php-7.1.8/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin ln -s -f phar.phar /usr/local/php/bin/phar Installing PDO headers: /usr/local/php/include/php/ext/pdo/
這里提示讓我們從源碼包復制一份 php.ini 到 /usr/local/php/lib/
[root@instance-l79ltvo6 ~]# cp php.ini-development /usr/local/php/lib/php.ini
修改 apache ,讓 apache 支持 php
編輯/usr/local/apache/conf/httpd.conf
LoadModule php7_module modules/libphp7.so //默認是開啟php7.so //找到,在 前面增加 AddType application/x-httpd-php .php .php3 .phtml .inc AddType application/x-httpd-php-source .phps //找到 DirectoryIndex index.html,增加index.php DirectoryIndex index.html index.shtml index.cgi index.php index.phtml index.php3
保存后看看httpd.conf有沒有出錯
[root@instance-l79ltvo6 ~]# /usr/local/apache/bin/apachectl -t Syntax OK //說明沒問題,可以直接啟動
把PHP加入環境變量
[root@instance-l79ltvo6 ~]# vim /etc/profile.d/php.sh //加入 export PATH=$PATH:/usr/local/php/bin //保存后賦予執行權限 [root@instance-l79ltvo6 ~]# chmod 0777 /etc/profile.d/php.sh [root@instance-l79ltvo6 ~]# source /etc/profile.d/php.sh
停止 apache,然后重新啟動 apache
[root@instance-l79ltvo6 ~]# systemctl stop httpd.service [root@instance-l79ltvo6 ~]# systemctl start httpd.service
測試PHP
[root@instance-l79ltvo6 ~]# vim /usr/local/apache/htdocs/phpinfo.php //加入
保存后訪問http://你的IP/phpinfo.php
教程結束
如果成功訪問到PHP的相關信息,那么PHP環境配置成功。本次教程本人在 CentOS 7.3 下搭建成功。
如果出現編譯失敗也不要灰心,一般都是缺少相關依賴,善于利用搜索引擎。如果實在不知道怎么解決,給我留言,我會在能力范圍盡可能的協助解決。
覺得本文章有用,別忘了點贊和收藏喔。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25680.html
摘要:免責聲明本教程僅以個人經驗撰寫,未必適合所有系統環境。如在使用本教程途中,出現無法挽救的損失如數據丟失等,本人概不負責。本文最終服務器環境配置下面開始進入教程吧。教程結束本次教程本人在下搭建成功。 注意:本教程使用干凈的 CentOS 7進行安裝,如果您已安裝其他環境或軟件,涉及到內核升級,請您妥善備份,可能導致您已安裝的軟件不兼容或出現其他問題。 免責聲明:本教程僅以個人經驗撰寫,...
摘要:或少了因為啟動時不是賬號,就會這樣前面別忘了加文件直接下載,不解析因為沒有配置的解決辦法引起通常是三種情況一是缺少索引文件,二是權限問題,三是狀態。 ========騰訊云重裝記錄================ 安裝時間:2018-09-09 12:15開始,結束時間: 一:重裝操作系統 進入騰訊云后臺,微信掃碼登錄 選擇主機/更多/重裝系統/服務市場/Docker容器/騰訊云容器...
摘要:或少了因為啟動時不是賬號,就會這樣前面別忘了加文件直接下載,不解析因為沒有配置的解決辦法引起通常是三種情況一是缺少索引文件,二是權限問題,三是狀態。 ========騰訊云重裝記錄================ 安裝時間:2018-09-09 12:15開始,結束時間: 一:重裝操作系統 進入騰訊云后臺,微信掃碼登錄 選擇主機/更多/重裝系統/服務市場/Docker容器/騰訊云容器...
閱讀 3569·2021-11-15 11:36
閱讀 1060·2021-11-11 16:55
閱讀 694·2021-10-20 13:47
閱讀 2993·2021-09-29 09:35
閱讀 3428·2021-09-08 10:45
閱讀 2553·2019-08-30 15:44
閱讀 848·2019-08-30 11:10
閱讀 1427·2019-08-29 13:43