Будьте осторожны: В этом руководстве для установки используется чистый CentOS 7. Если вы установили другие среды или программное обеспечение, включающее обновление ядра, пожалуйста, выполните резервное копирование должным образом, что может привести к несовместимости или другим проблемам с установленным программным обеспечением.
Отказ от ответственности: Этот учебник написан только с учетом личного опыта и может не подходить для всех системных сред. Я не несу ответственности за какие-либо невосполнимые потери (например, потерю данных) во время использования этого руководства.
Еще раз: Пожалуйста, сделайте резервную копию существующих данных перед использованием этого урока! Пожалуйста, сделайте резервную копию существующих данных перед использованием этого руководства! Пожалуйста, создайте резервную копию существующих данных должным образом перед использованием этого руководства!
Если у вас возникнут какие-либо проблемы в процессе использования метода этого урока, вы можете оставить сообщение, и я сделаю все возможное, чтобы помочь их решить.
Окончательная конфигурация серверной среды в этой статье:
Apache 2.7.28 subversion 1.11.0 MariaDB 10.3.11 php 7.3.0
Давайте начнем учебник.
[[email protected] ~]# yum -y update ... Complete!
Пока вывод на консоль не будет завершен! Указывает, что обновление завершено. Лучше перезапустить его
[[email protected] ~]# reboot
Сначала установите некоторые основные зависимости
[[email protected] ~]# yum install -y gcc gcc-c++ openssl-devel zlib-devel //Create a soft folder in the root directory where all the software of this tutorial will be placed [[email protected] ~]# mkdir soft [[email protected] ~]# cd soft
Затем начните устанавливать три зависимости: Apr, APR util и PCRE и, наконец, установите Apache
1. Установите APR
[[email protected] ~]# wget http://mirror.bit.edu.cn/apache/apr/apr-1.6.5.tar.gz [[email protected] ~]# tar zxf apr-1.6.5.tar.gz [[email protected] ~]# cd apr-1.6.5/ [[email protected] ~]# ./configure --prefix=/usr/local/apr [[email protected] ~]# make && make install [root @ instance-l79ltvo6 ~] (CD.. // return to the parent directory
Поскольку мы используем зависимость от APR 1.6.5, мы должны использовать APR util 1.6.1, APR util 1.6.1 Expat больше не устанавливается в комплекте, но он должен поддерживаться expat, поэтому сначала мы должны установить expat вручную. В противном случае при компиляции Apache будет сообщено об ошибке.
2 установите эмигранта
[[email protected] ~]# 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 // for CentOS installed with minimal, please execute Yum install - y bzip2 first [[email protected] ~]# cd expat-2.2.3/ [[email protected] ~]# ./configure --prefix=/usr/local/expat [[email protected] ~]# make && make install [root @ instance-l79ltvo6 ~] (CD.. // return to the parent directory
3 установите APR util
[[email protected] ~]# wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.6.1.tar.gz [[email protected] ~]# tar zxf apr-util-1.6.1.tar.gz [[email protected] ~]# cd apr-util-1.6.1/ [[email protected] ~]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-expat=/usr/local/expat [[email protected] ~]# make && make install [root @ instance-l79ltvo6 ~] (CD.. // return to the parent directory
4 установите PCRE
[[email protected] ~]# wget http://sourceforge.mirrorservice.org/p/pc/pcre/pcre/8.41/pcre-8.41.tar.gz [[email protected] ~]# tar zxf pcre-8.41.tar.gz [[email protected] ~]# cd pcre-8.41/ [[email protected] ~]# ./configure --prefix=/usr/local/pcre [[email protected] ~]# make && make install [root @ instance-l79ltvo6 ~] (CD.. // return to the parent directory
5 установите Apache
[[email protected] ~]# wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.37.tar.gz [[email protected] ~]# tar zxf httpd-2.4.37.tar.gz [[email protected] ~]# cd httpd-2.4.37/ [[email protected] ~]# ./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 //Here, please open the relevant modules according to your actual situation [[email protected] ~]# make && make install [root @ instance-l79ltvo6 ~] (CD.. // return to the parent directory
6 измените файл конфигурации Apache
Редактировать/usr/локальный/Apache/conf/httpd.conf
#Loadmodule SSL? Module modules / module? SSL. So // remove and enable SSL #Loadmodule rewrite? Module modules / module rewrite.so // remove it and enable rewrite #Servername www.example.com: 80 // remove ා, and change www.example.com: 80 to your IP: 80 or domain name #Include conf / extra / httpd-vhosts.conf // remove and enable virtual host configuration //If you need to install the SVN service, you need to turn it on #Loadmodule Dav? Module modules / module Dav. So // remove#
Найдите и замените следующий код
AllowOverride none Require all denied // modified to Options indexes followsymlinks // if the directory does not need to be displayed, remove the indexes Allowoverride all // enable rewrite Require all granted
Отредактируйте/usr/local/Apache/conf/extra/httpd-vhosts.conf, удалите все и добавьте следующий код
DocumentRoot "/usr/local/apache/htdocs" Servername your IP // your IP address Error log "logs / your IP error log" CustomLog "logs / your IP access log" common
7 добавьте службу запуска
[[email protected] ~]# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/ [[email protected] ~]# mv /etc/rc.d/init.d/apachectl /etc/rc.d/init.d/httpd [[email protected] ~]# cd /etc/rc.d/init.d/
Отредактируйте httpd и добавьте следующий код в поле ×!/bin/Sh
# Comments to support chkconfig on RedHat Linux # chkconfig: 2345 90 90 # description:http server
Регистрационная служба
[[email protected] ~]# chkconfig --add httpd [[email protected] ~]# chkconfig httpd on
Добавьте Apache в системную переменную среды
[[email protected] ~]# vim /etc/profile.d/httpd.sh // writing export PATH=$PATH:/usr/local/apache/bin //Give execution permission after saving [[email protected] ~]# chmod 0777 /etc/profile.d/httpd.sh [[email protected] ~]# source /etc/profile.d/httpd.sh
8 запустите Apache
Сначала проверьте профиль на наличие ошибок
[[email protected] ~]# /usr/local/apache/bin/apachectl -t Syntax OK // no problem. You can start it directly
Запустите Apache
[[email protected] ~]# systemctl start httpd.service
Затем откройте браузер, введите свой IP-адрес и посмотрите, работает ли он!, указывая, что Apache успешно запущен
It works!
(пропустите, если служба SVN не нужна)
1 установите БРА
[[email protected] ~]# cd /root/soft [[email protected] ~]# wget http://sourceforge.mirrorservice.org/s/sc/scons/scons/2.5.1/scons-2.5.1.tar.gz [[email protected] ~]# tar zxf scons-2.5.1.tar.gz [[email protected] ~]# cd scons-2.5.1/ [[email protected] ~]# python setup.py install --prefix=/usr/local/scons [root @ instance-l79ltvo6 ~] (CD.. // return to the parent directory
2 установите крепостного
[[email protected] ~]# wget http://mirror.bit.edu.cn/apache/serf/serf-1.3.9.tar.bz2 [[email protected] ~]# tar xf serf-1.3.9.tar.bz2 [[email protected] ~]# cd serf-1.3.9/ [[email protected] ~]# /usr/local/scons/bin/scons prefix=/usr/local/serf APR=/usr/local/apr APU=/usr/local/apr-util [[email protected] ~]# /usr/local/scons/bin/scons install [root @ instance-l79ltvo6 ~] (CD.. // return to the parent directory
3 скомпилируйте subversion
[[email protected] ~]# wget http://www.sqlite.org/2017/sqlite-amalgamation-3190300.zip [[email protected] ~]# wget https://mirror.bit.edu.cn/apache/subversion/subversion-1.11.0.tar.gz [[email protected] ~]# tar zxf subversion-1.11.0.tar.gz [[email protected] ~]# unzip sqlite-amalgamation-3190300.zip [[email protected] ~]# mv /root/soft/sqlite-amalgamation-3190300 /root/soft/subversion-1.11.0/sqlite-amalgamation [[email protected] ~]# cd subversion-1.11.0/ [[email protected] ~]# ./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 [[email protected] ~]# make && make install
Создайте пользователя без входа в систему с именем SVN для SVN
[[email protected] ~]# useradd svn -s /sbin/nologin
Добавление SVN в системные переменные среды
[[email protected] ~]# vim /etc/profile.d/svn.sh // add export PATH=$PATH:/usr/local/svn/bin Give execution permission after saving [[email protected] ~]# chmod 0777 /etc/profile.d/svn.sh [[email protected] ~]# source /etc/profile.d/svn.sh
Создайте serf-1.3.9.conf в/etc/ld.so.conf.d/и укажите каталог Lib, иначе при запуске SVN появится сообщение об ошибке
[[email protected] ~]# vim /etc/ld.so.conf.d/serf-1.3.9.conf // add /usr/local/lib Refresh after saving [[email protected] ~]# /sbin/ldconfig -v
4 настройка subversion
Давайте сначала создадим тестовый проект
[[email protected] ~]# mkdir -p /data/svn [[email protected] ~]# cd /data/svn [[email protected] ~]# svnadmin create test
Затем мы открываем/данные/SVN/тест/и обнаруживаем, что некоторые каталоги создаются автоматически
conf db format hooks locks README.txt
Файл в conf предназначен для настройки персонала и разрешений проекта, но если несколько проектов совпадают с разработчиками, их необходимо настраивать много раз, что очень хлопотно, поэтому нам нужно настроить разрешения один раз, чтобы напрямую применить их ко всем проектам.
[[email protected] ~]# cp /data/svn/test/conf/authz /data/svn/authz [[email protected] ~]# cp /data/svn/test/conf/passwd /data/svn/passwd [[email protected] ~]# cp /data/svn/test/conf/svnserve.conf /data/svn/svnserve.conf //Then set a user password. Take creating root as an example. The demonstration here is to encrypt the password instead of storing it in clear text [[email protected] ~]# htpasswd -c /data/svn/passwd root New password: // enter the password Re type new password: // enter the password again
Таким образом, создается пользователь root, и таким же образом создаются другие пользователи. Далее нам нужно изменить файл конфигурации
[[email protected] ~]# vim /data/svn/svnserve.conf //Delete everything and add the following code [general] anon-access = read auth-access = write password-db = passwd authz-db = authz [sasl] // preservation [[email protected] ~]# vim /data/svn/authz //Delete everything and add the following code [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 // preservation
Мы пытаемся запустить службу SVN
[[email protected] ~]# svnserve --config-file /data/svn/svnserve.conf -d -r /data/svn
Об ошибке не сообщается, что указывает на успешный запуск. Измените владельца каталога/data/SVN/на SVN
[[email protected] ~]# chown -R svn:svn /data/svn
Наконец, нам нужно изменить файл конфигурации Apache Edit/usr/local/Apache/conf/httpd.conf
// find User daemon Group daemon // modified to User svn Group svn
Отредактируйте/usr/local/Apache/conf/extra/httpd-vhosts.conf и замените только что отредактированное содержимое на
Servername your IP Error log "logs / your IP error log" CustomLog "logs / your 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
[[email protected] ~]# systemctl stop httpd.service
Проверьте, есть ли в файле конфигурации Apache ошибки
[[email protected] ~]# /usr/local/apache/bin/apachectl -t Syntax OK // no problem. You can start it directly
Перезапустить Apache
[[email protected] ~]# systemctl start httpd.service
Откройте браузер для доступа к http://ваш IP/SVN/тест, и вам будет предложено ввести пароль учетной записи. Вы также можете использовать TortoiseSVN для отображения операций после ввода пароля учетной записи, просто установленного
test - Revision 0: /
Указывает, что конфигурация выполнена успешно и служба Apache + SVN успешно запущена
Обратитесь к https://segmentfault.com/a/11… И измените соответствующий номер версии на 10.3.11 (шаг 6 не требуется выполнять: 6. Скопируйте файл конфигурации MariaDB в каталог/etc)
Сначала установите базовую зависимость
[[email protected] ~]# 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
[[email protected] ~]# cd /root/soft [[email protected] ~]# wget https://nih.at/libzip/libzip-1.2.0.tar.gz [[email protected] ~]# tar -zxvf libzip-1.2.0.tar.gz [[email protected] ~]# cd libzip-1.2.0 [[email protected] ~]# ./configure [[email protected] ~]# make && make install
Даже если установлен libzip, zipconf. H может не быть найден при компиляции PHP, поэтому скопируйте его вручную
[[email protected] ~]# cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h
Добавьте путь поиска в профиль
[[email protected] ~]# echo '/usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64'>>/etc/ld.so.conf //Update configuration [[email protected] ~]# ldconfig -v
Скомпилировать PHP
[[email protected] ~]# cd /root/soft [[email protected] ~]# wget http://cn2.php.net/distributions/php-7.3.0.tar.gz [[email protected] ~]# tar zxf php-7.3.0.tar.gz [[email protected] ~]# cd php-7.3.0/ [[email protected] ~]# ./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 [[email protected] ~]# make && make install ... // long wait
Успешно скомпилирована
[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 из исходного пакета/
[[email protected] ~]# cp php.ini-development /usr/local/php/lib/php.ini
Измените Apache для поддержки PHP Edit/usr/local/Apache/conf/httpd.conf
Loadmodule php7_module modules / libphp7.so // the default is to enable php7.so //Find < ifmodule mime > and add it before < / ifmodule > AddType application/x-httpd-php .php .php3 .phtml .inc AddType application/x-httpd-php-source .phps //Find directoryindex index.html and add index.php DirectoryIndex index.html index.shtml index.cgi index.php index.phtml index.php3
После сохранения посмотрите, нет ли какой-либо ошибки в httpd.conf
[[email protected] ~]# /usr/local/apache/bin/apachectl -t Syntax OK // no problem. You can start it directly
Добавьте PHP в переменные среды
[[email protected] ~]# vim /etc/profile.d/php.sh // join export PATH=$PATH:/usr/local/php/bin //Give execution permission after saving [[email protected] ~]# chmod 0777 /etc/profile.d/php.sh [[email protected] ~]# source /etc/profile.d/php.sh
Остановите Apache и перезапустите Apache
[[email protected] ~]# systemctl stop httpd.service [[email protected] ~]# systemctl start httpd.service
Протестируйте PHP
[[email protected] ~]# vim /usr/local/apache/htdocs/phpinfo.php // join
После сохранения посетите http://your IP/phpinfo.php Если вы успешно получили доступ к информации, связанной с PHP, конфигурация среды PHP выполнена успешно.
Этот учебник был успешно построен в CentOS 7.3. Если вам не удастся скомпилировать, не расстраивайтесь. Как правило, у вас нет зависимости и вы хорошо используете поисковую систему. Если вы действительно не знаете, как ее решить, оставьте мне сообщение, и я сделаю все возможное, чтобы помочь ее решить. Я думаю, что эта статья полезна. Не забывайте хвалить и собирать его.