Vladimir Drach. Official Web-Site. - Личный сайт Владимира Драча. Установка apache centos 7


Как установить Apache CouchDB на CentOS 7

Хорошо высказываешь только ту любовь, которой не чувствуешь (А. Карр).

Сегодня мы покажем вам, как установить Apache CouchDB на CentOS 7.  CouchDB является базой данных с открытым исходным кодом, и впервые была выпущена в 2005 году, а затем проект стал собственностью Apache Software Foundation, в 2008 году имеет документ-ориентированную архитектуру базы данных NoSQL и реализована с помощью функционального языка программирования с сильной динамической типизацией – Эрланга; она использует JSON для хранения данных, JavaScript в качестве языка запросов с помощью MapReduce и HTTP для API. Данные могут быть доступны через веб – браузер. Выглядит просто, не так ли? Установка Apache CouchDB на CentOS 7 довольно проста, на самом деле, вы можете установить CouchDB всего за несколько минут с помощью менеджера пакетов на сервере Linux. Давайте начнем!

1. Обновление системы

Перед тем, как приступить к установке CouchDB на сервере CentOS 7, рекомендуется обновить все ваше программное обеспечение системы до последней доступной версии. Для этого можно использовать следующую команду:

# yum update

 

Убедитесь, что хранилище EPEL присутствует на сервере, если это не так, эта команда установит его:

# yum install epel-release

 

Вы можете перейти к следующему шагу, как только было установлено хранилище EPEL.

2. Добавить хранилище Apache

Мы собираемся установить CouchDB сейчас, для того, чтобы сделать это, мы должны сначала добавить репозиторий Apache, используйте nano, чтобы открыть файл по следующему пути и добавьте следующее содержимое:

# nano /etc/yum.repos.d/bintray-apache-couchdb-rpm.repo [bintray--apache-couchdb-rpm] name=bintray--apache-couchdb-rpm baseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/ gpgcheck=0 repo_gpgcheck=0 enabled=1

3. Установка Apache CouchDB

 

Теперь запустите следующую команду для установки CouchDB:

# yum install couchdb

4. Настройка Apache CouchDB

 

Когда установка будет завершена, запустите следующие команды для запуска и включения CouchDB при загрузке:

# systemctl start couchdb # systemctl enable couchdb

5. Проверьте, работу службы CouchDB

 

Проверьте работу службы CouchDB:

# systemctl status couchdb ● couchdb.service - Apache CouchDB Loaded: loaded (/usr/lib/systemd/system/couchdb.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2018-02-04 16:34:22 CST; 2min 33s ago Main PID: 1255 (beam.smp) CGroup: /system.slice/couchdb.service ├─1255 /opt/couchdb/bin/../erts-7.3/bin/beam.smp -K true -A 16 -Bd -- -root /opt/couchdb/bin/.. -progname couchdb -- -home /opt/couchdb -- -boot /opt/co... ├─1263 /opt/couchdb/bin/../erts-7.3/bin/epmd -daemon ├─1478 sh -s disksup ├─1480 /opt/couchdb/bin/../lib/os_mon-2.4/priv/bin/memsup └─1481 /opt/couchdb/bin/../lib/os_mon-2.4/priv/bin/cpu_sup

 

Если вы получаете вывод выше, то была установлена ​​Apache CouchDB и работает на сервере, и вы можете перейти к следующему шагу.

6. Включить панель администрирования Fauxton Web GUI

Fauxton представляет собой веб-интерфейс, встроенный в CouchDB. Он обеспечивает базовый интерфейс с возможностью управления документами, представлениями и различными параметрами конфигурации.

Мы собираемся включить Fauxton, изменив первым делом следующий файл:

# nano /opt/couchdb/etc/default.ini

 

Перейти к строке «[chttpd]» и измените значение bind_address на IP-адрес сервера:

[chttpd] ; These settings affect the main, clustered port (5984 by default). port = 5984 bind_address = 192.168.0.24

 

Перезапустите CouchDB, чтобы изменения вступили в силу:

# systemctl restart couchdb

 

Теперь откройте следующий URL, используя IP-адрес вашего сервера в веб-браузере:

http://192.168.0.24:5984/_utils/

 

Вы должны увидеть интерфейс Fauxton Web GUI.

7. Создание пользователя администратора в Fauxton

По умолчанию Apache CouchDB позволяет любому соединяться с правами администратора, поэтому мы собираемся добавить пользователя с правами администратора через Fauxton, перейдите к следующему URL, используя IP-адрес вашего сервера:

http://192.168.0.24:5984/_utils/#createAdmin

 

Затем введите желаемое имя пользователя и пароль администратора и нажмите на кнопку ‘Create Admin’.

Теперь, если вы хотите снова войти в интерфейс, Fauxton Web GUI попросит вас ввести учетные данные для входа.

Вот и все! У Вас должен быть успешно установлен Apache CouchDB на сервере CentOS 7.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 63

Если статья понравилась, то поделитесь ей в социальных сетях:

andreyex.ru

Ставим Apache, PHP 7.1 и MariaDB на CentOS 7.3

1 Предварительное замечание

В этом руководстве используются имя хоста server1.example.com с IP 192.168.1.100. Эти параметры могут отличаться, поэтому в таком случае их необходимо заменить.

Добавляем Epel repo, чтобы установить последнюю версию phpMyAdmin следующим образом:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*yum –y install epel-release

Для редактирования файлов в этой статье используется редактор nano. Можно использовать vi для редактирования файлов, но тогда надо пропустить этот шаг.

yum -y install nano

2 Установка MySQL / MariaDB

MariaDB является параллельной веткой MySQL от оригинального разработчика MySQL Манти Видениуса. MariaDB совместим с MySQL, поэтому в этой статье используется MariaDB вместо MySQL. Требуется выполнить эту команду, чтобы установить MariaDB с Yum:

yum -y install mariadb-server mariadb

Затем создаются ссылки для запуска системы MySQL (так как MySQL запускается автоматически всякий раз, когда система загружается) и запускается сервер MySQL:

systemctl start mariadb.service systemctl enable mariadb.service

Установка паролей для корневой учетной записи MySQL:

mysql_secure_installation

[root@server1 ~]# mysql_secure_installation/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

ПРИМЕЧАНИЕ: Запуск всех частей этого скрипта РЕКОМЕНДУЕТСЯ ДЛЯ ВСЕХ MariaDB СЕРВЕРА В ПРОИЗВОДСТВЕННОМ ИСПОЛЬЗОВАНИИ! ПРОЧТИТЕ ВНИМАТЕЛЬНО каждый шаг!

Введите текущий пароль для root (ввод не нужен): <- ENTEROK, успешно используется пароль, далее ...

Установка пароля гарантирует, что никто не сможет войти в MariaDB корневого пользователя без требующегося разрешения.

Установить пароль? [Y / N] Новый пароль: <- yourmariadbpasswordПовторно ввести новый пароль: <- yourmariadbpasswordПароль успешно обновлен! Перезагрузка таблицы привилегий.....

Успешно! Удалить анонимных пользователей? [Y / N] <- ENTER...

Успешно! Запретить логин root удаленно? [Y / N] <- ENTER...

Успешно! Удалить тестовую базу данных и доступ к ней? [Y / N] <- ENTER- Удаление тестовой базы данных ......

Успешно! - Удаление привилегий на тестовой базе ......

Успешно! Обновить таблицы привилегий сейчас? [Y / N] <- ENTER... Успешно! Очистка ... Готово!

 

Если были выполнены все описанные выше действия, то установка MariaDB теперь должна стать безопасной.

3 Установка Apache

CentOS 7 поставляется с Apache 2.4. Apache непосредственно доступен как пакет CentOS 7, поэтому можно установить его так:

Вот скриншот процесса установки.

***

Теперь настройка системы для запуска Apache во время загрузки ...

systemctl start httpd.service

systemctl enable httpd.service

Для того, чтобы иметь возможность получения доступа к веб-серверу извне, необходимо открыть порты HTTP (80) и HTTPS (443) в брандмауэре. Межсетевой экран по умолчанию на CentOS - firewalld, который может быть сконфигурирован с помощью команды firewalld-cmd.

firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=httpsfirewall-cmd --reload

Теперь в браузере постучимся на IP-адрес сервера, в нашем случае http://192.168.1.100 , и - о, чудо! - можно увидеть страницу приветствия Apache.

 

4 Установка PHP

PHP версия, которая поставляется с CentOS довольно старая (PHP 5.4), поэтому в этом разделе показано некоторые варианты установки более новых версий PHP, как PHP 7.0 или 7.1 из Remi хранилища.

Надо добавить репозиторий Remi CentOS.

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Требуется установка

yum-утилит, если нужна утилита

yum-

config-

manager.

и запуск

yum обновления

Теперь надо выбрать, какая версия PHP будет использоваться на сервере. Если PHP 5.4, то приступить к следующей команде. Если PHP 7.0, то следовать командам в разделе 4.1, а для PHP 7.1 использовать раздел 4.2.

Чтобы установить PHP 5.4, требуется выполнить следующую команду:

4.1 Установка PHP 7.0 (опционально)

Можно установить PHP 7.0 и модуль Apache PHP 7.0 следующим образом:

yum-config-manager --enable remi-php70

yum -y install php php-opcache

4.2 Установка PHP 7.1 (опционально)

Если PHP 7.1 то нужно использовать:

yum-config-manager --enable remi-php71

yum -y install php php-opcache

В этом примере и в загружаемой виртуальной машине, будет использоваться PHP 7.1.

Необходимо перезапустить Apache, чтобы применить изменения:

systemctl restart httpd.service

5 Тестирование PHP / Получение более полной информации о PHP. Установка

Корень документа веб-сайта по умолчанию является / Var / WWW / HTML. Нужно создадать маленький PHP файл (info.php) в этом каталоге и назвать его в браузере, чтобы проверить установку PHP. Файл будет отображать множество полезных деталей о установке PHP, таких как установленная версия PHP.

nano /var/www/html/info.php

Теперь надо назвать этот файл в браузере (например , http://192.168.1.100/info.php ):

 

Как видно, PHP 7.1 работает и работает через Apache 2.0 Handler, как показано на Server API Line . Если прокрутить дальше вниз, то можно увидеть все модули, которые уже включены в PHP. MySQL отсутствует в списке, что означает отсутствие поддержки MySQL в PHP.

6 Поддержка MySQL в PHP

Чтобы получить поддержку MySQL в PHP, нужно установить php71w-MySQL пакет. Это хорошая идея: установить некоторые другие модули PHP, а также они могут понадобиться для других приложений. Можно выполнить поиск доступных PHP5 модулей , например, так:

Надо выбрать те, что нужны, и установить их следующим образом:

На следующем этапе выполняется установка некоторых общих PHP модулей, которые необходимы для CMS систем, таких как Wordpress, Joomla и Drupal:

 

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

Теперь перезапуск веб-сервера Apache:

systemctl restart httpd.service

Теперь требуется загрузить http://192.168.1.100/info.php в браузере и снова прокрутить вниз до раздела модулей. Теперь надо найти там много новых модулей , таких как

curl и т.д.:

 

Если не нужна больше информация o PHP, можно удалить этот файл из соображений безопасности.

rm /var/www/html/info.php

7 установка PhpMyAdmin

PhpMyAdmin является веб - интерфейсом, с помощью которого можно управлять базами данных MySQL.

phpMyAdmin может быть установлен следующим образом :

yum -y install PhpMyAdmin

Теперь, пока устанавливается PhpMyAdmin, надо поменять конфигурацию Apache так, чтобы PhpMyAdmin позволял устанавливать соединение не только с локального хоста (закомментировать строфу <RequireAny> и добавить строку "Require all granted"):

nano /etc/httpd/conf.d/phpMyAdmin.conf

[...] [...] Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin <Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 # <RequireAny> # Require ip 127.0.0.1 # Require ip ::1 # </RequireAny> Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> <Directory /usr/share/phpMyAdmin/> Options none AllowOverride Limit Require all granted </Directory> [...] [...]

Далее, нужно изменить аутентификацию в PhpMyAdmin из cookie в HTTP:

[...] $cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)? [...]

Перезапустить Apache:

systemctl restart httpd.service

После этого, получен доступ к

phpMyAdmin в разделе http://192.168.1.100/phpmyadmin/:

drach.pro

Установка и настройка Apache, PHP, MySQL на CentOS (+ PMA и FTP) — websiteprof.ru

1. Обновляем систему.

# yum update

2. Устанавливаем любимые редакторы.

Лично я люблю пользоваться mcedit, который встроен в Midnight Commander,  по этому его и ставлю:

# yum —y install mc

3. Настройка брэндмауера (iptables).

Чтобы не вдаваться в долгие сложные настройки, просто отключаем его следующей командойCentOS 6: # service iptables stop &amp;&amp; chkconfig iptables offCentOS 7: # systemctl stop firewalld &amp;&amp; systemctl disable firewalld

4. Устаналвиваем Apache, SSL.

# yum —y install httpd mod_ssl

Редактируем конфиг апачаОткрываем в любимом редакторе файл /etc/httpd/conf/httpd.conf.Редактировать можно в mcedit (# mcedit /etc/httpd/conf/httpd.conf) или, для своего удобства, используйте следующие программы: WinSCP (для windows) или Coda (для MacOS X), которые позволяют работать с файлами на сервере через протокол SFTP (тот-же SSH, только для файлов).

В ServerName пишем ip адрес или имя сервера.

Строчку IncludeOptional conf.d/*.conf переносим в самый конец файла.А перед ней добавляем главный виртуалхост:

<VirtualHost *:80>

ServerName 127.0.0.1

ServerAdmin [email protected]

DocumentRoot /var/www/html

</VirtualHost>

Ещё советую закомментировать строку # CustomLog logs/access_log combined

Прописываем Apache в автозапуск:CentOS 6: # chkconfig httpd onCentOS 7: # systemctl enable httpd.service

Запускаем Apache:CentOS 6: # service httpd startCentOS 7: # systemctl start httpd.service

Создаем тестовую страницу:

# echo ‘<h2>It Works!</h2>’ > /var/www/html/index.html

Проверяем результат, открыв в браузере с другой машины IP-адрес сервера:

http://IP-адрес_сервера/

Если надпись It Works! появилась, продолжаем дальше

5. Устанавливаем PHP с некоторыми его доп. компонентами

# yum —y install php php—common php—gd php—xml php—mbstring

Перезагружаем Apache:CentOS 6: # service httpd restartCentOS 7: # systemctl restart httpd.service

Проверяем PHP:Создадим php скрипт выводящий информацию о php:

# echo ‘<?php phpinfo(); ?>‘ > /var/www/html/inf.php

Смотрим по адресу http://IP-адрес_сервера/inf.phpЕсли информация отобразилась, продолжаем дальше.

6. Устанавливаем MySQL или MariaDB.

В связи с тем, что MariaDB набирает все большую популярность за свои выдающиеся характеристики и полную совместимость с mysql приложениями, рассмотрим оба варианта:

  • Ставим MySQL

    # yum —y install mysql mysql—server

    Прописываем MySQL в автозапуск:CentOS 6: # chkconfig mysqld onCentOS 7: # systemctl enable mysqld

    Запускаем MySQL:CentOS 6: # service mysqld startCentOS 7: # systemctl start mysqld

    Устанавливаем root пароль MySQL:# mysqladmin —u root password ‘new-password’Где new-password — ваш новый root пароль для MySQL.

  • Или ставим MariaDB

    # yum install —y mariadb—server mariadb

    Прописываем MariaDB в автозапуск:CentOS 6: # chkconfig mysql onCentOS 7: # systemctl enable mysql

    Запускаем MariaDB:CentOS 6: # service mysql startCentOS 7: # systemctl start mysql

    Затем нужно запустить простой скрипт безопасной установки, который удалит некоторые опасные настройки по умолчанию и усложнит доступ к системе базы данных. Запустите интерактивный скрипт:# mysql_secure_installationСистема спросит текущий root-пароль. Но поскольку система MySQL только что установлена, такого пароля пока что нет, потому просто нажмите enter. Затем вас спросят, хотите ли вы установит пароль, введите Y и следуйте инструкциям.На все остальные вопросы просто нажмите enter.

Подключаем и проверяем

Устанавливаем модуль php для работы с БД# yum —y install php—mysql

Проверяем MySQL (или MariaDB):Создаём и редактируем проверочный фаил mysqltest.php# mcedit /var/www/html/mysqltest.phpКопируем в него следующий код:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<?php

ini_set(‘display_errors’, 1); //включаем вывод ошибок на страницу

$dblocation = «localhost»; //хост бд (не меняем)

$dbname = «mysql»; //база данных, которая создается по умолчанию при установке

$dbuser = «root»; //имя пользователя БД

$dbpasswd = «ваш пароль»; //Ваш root пароль от БД

$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);

if (!$dbcnx){

    echo «<p>К сожалению, не доступен сервер mySQL</p>»;

    exit();

}

if (!@mysql_select_db($dbname,$dbcnx)){

    echo «<p>К сожалению, не доступна база данных</p>»;

    exit();

}

$ver = mysql_query(«SELECT VERSION()»);

if(!$ver){

    echo «<p>Ошибка в запросе</p>»;

    exit();

}

echo mysql_result($ver, 0);

?>

Сохраняем. Проверяем:http://IP-адрес_сервера/mysqltest.php (после успешной проверки скрипт желательно удалить)Если вывелась версия MySQL сервера, то продолжаем.

7. Настраиваем хосты в Apache.

После того, как мы убедились, что все основные веб-службы у нас хорошо работают, можно переходить к созданию директорий сайтов.Структура у нас будет такая:/home/ — директория с сайтами/home/site1.ru/ — директория отдельного сайта/home/site1.ru/www/ — файлы этого сайта/home/site1.ru/logs/ — логи этого сайта/home/site1.ru/tmp/ — временные файлы этого сайта

И так, создаем в /home/ директории сайтов и в каждом из них папки www, logs, tmp.

После этого прописываем наши хосты в конфиг апача:/etc/httpd/conf.d/ — В эту директорию будем создавать отдельный конфиг фаил для каждого сайта (так удобнее).Файл site1.conf:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<VirtualHost *:80>

ServerName site1.ru

ServerAlias www.site1.ru

DocumentRoot /home/site1.ru/www

<Directory /home/site1.ru/www>

Options FollowSymLinks

AllowOverride All

Require all granted

</Directory>

#лог ошибок

ErrorLog /home/site1.ru/logs/error.log

#

#лог обращений выключен по умолчанию, для включения уберите #

#CustomLog /home/site1.ru/logs/access.log common

#

# php safety options

#

php_admin_flag register_globals 1

php_admin_value date.timezone ‘Europe/Moscow’

php_admin_value open_basedir /home/site1.ru

php_admin_value max_execution_time 60

php_admin_value upload_max_filesize 50M

php_admin_value upload_tmp_dir /home/site1.ru/tmp

php_admin_value session.save_path /home/site1.ru/tmp

</VirtualHost>

Такой-же фаил надо создать для каждого сайта из директории /home/После этого, перезапускаем апач:CentOS 6: # service httpd restartCentOS 7: # systemctl restart httpdЕсли апач вдруг не запустился, лог ошибок всегда можно посмотреть в /var/log/httpd/

Примечание:Если столкнулись с ошибкой доступа к файлам или директориям, то необходимо убедиться, что в файле /etc/sysconfig/selinux значение SELINUX равно disabled, если нет, то выставить и перезагрузить сервер командой # reboot.

Проверяем:Для проверки совершенно не обязательно менять NS записи домена, достаточно отредактировать файл hosts на компьютере, с которого вы производите настройку. В windows он обычно лежит в C:\Windows\System32\drivers\etc\, в nix системах в /etc/

Добавляем туда строчку:192.168.1.5 site1.ruГде 192.168.1.5 — ip адрес вашего сервера.Далее, создаем в /home/site1.ru/www/ фаил index.html с каким нибудь текстом.Октрываем в браузере http://site1.ru/Если видим там его содержимое, то продолжаем.

8. Установка и настройка PhpMyAdmin (PMA)

Ставить будем вручную. Для этого нам потребуется менеджер загрузок wget.Если у вас нет, то ставим:# yum —y install wgetИдем на http://www.phpmyadmin.net/home_page/downloads.php и копируем ссылку на самую последнюю мультиязычную версию PhpMyAdmin со сжатием .zip (На данный момент это — http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.2.8/phpMyAdmin-4.2.8-all-languages.zip).Идем в /var/www/html/:# cd /var/www/html/Скачиваем PMA:# wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.2.8/phpMyAdmin-4.2.8-all-languages.zipВ директории появится архив phpMyAdmin-4.2.8-all-languages.zip, распаковываем его:# unzip phpMyAdmin—4.2.8—all—languages.zipПереименуем директорию phpMyAdmin-4.2.8-all-languages в pma:# mv phpMyAdmin—4.2.8—all—languages pmaУдалим архив phpMyAdmin-4.2.8-all-languages.zip т.к. он нам больше не нужен:# rm phpMyAdmin—4.2.8—all—languages.zip

По идее у нас уже полностью рабочий PhpMyAdmin должен быть доступен по адресу — https://IP-адрес_сервера/pma/

Дополнительно читаем: Тонкая настройка PhpMyAdmin

9. Установка и настройка FTP клиента

Лично мне нравится использовать ProFTPD.Как его установить и настроить на CentOS читаем тут — Установка и настройка ProFTPD на CentOS.

websiteprof.ru

Установка и оптимальная настройка Nginx + LAMP (CentOS 7) / Хабр

Недавно приняли решение переехать с хостинга на VPS, будем использовать: CentOS 7, Nginx, Apache, PHP, MySQL. Несмотря на большое количество статей на эту тему, многие аспекты не упоминаются, поэтому выкладываем эту статью чтобы услышать мнение знающих и опытных людей. Настраивать сервер как Вы уже поняли будем первый раз, поэтому о актуальности статьи можно будет судить из комментариев. Nginx будет отдавать статику, а динамику Apache (скрипты PHP), чтобы снизить нагрузку на сервер.

Подготовка.

Все настройки будем применять на рабочем сервере нашего проекта с конфигурацией сервера: CPU — 2 × 2000 МГц и RAM — 2048 МБ.

Для начала работы находим подходящий VPS с предустановленной CentOS 7, к серверу будем подключаться по SSH через PuTTY.

Вводим название хоста и порт, нажимаем Open:

Далее вводим логин [Enter], потом пароль (обратите внимание, ввод пароля не отображается) [Enter]:

Обновить систему, при этом сохранить устаревшие версии пакетов:

[root@test ~]# yum update Или обновить все пакеты, старые пакеты будут удалены:[root@test ~]# yum upgrade Устанавливаем файловый менеджер с текстовым интерфейсом — Midnight Commander:[root@test ~]# yum install mc Устанавливаем текстовый редактор — Nano:[root@test ~]# yum install nano Проверяем сколько на сервере оперативной памяти и сколько доступно, а также наличие SWAP. Когда заканчивается оперативная память, данные перемещаются на диск, что замедляет работу сервера, работа SWAP нежелательна, но позволяет подстраховать себя:[root@test ~]# free -mСоздаём файловую структуру и пользователей под сайты.

Создаём каталог (папку) для файлов под все сайты:

[root@test ~]# cd / [root@test ~]# mkdir -m 755 websiteПод каждый отдельный сайт выполните такие действия.

Содержимое каждого сайта будет находиться в собственном каталоге, поэтому создаём нового пользователя и отдельный каталог для разграничения прав доступа:  -b папка в которой будет создан каталог пользователя  -m создать каталог  -U создаём группу с таким же именем как у пользователя  -s /bin/false отключаем пользователю shell

[root@test ~]# useradd name.site -b /website/ -m -U -s /bin/false Делаем каталоги для данных сайта (файлы сайта, логи и временные файлы):[root@test ~]# mkdir -p -m 754 /website/name.site/www [root@test ~]# mkdir -p -m 754 /website/name.site/logs [root@test ~]# mkdir -p -m 777 /website/name.site/tmp Изменяем владельца и группу на каталог, включая вложенные папки:[root@test ~]# chown -R name.site:name.site /website/name.site/ Изменяем права доступа на каталог — name.site:[root@test ~]# chmod 755 /website/name.siteУстанавливаем Nginx.

Инструкции по установке приведены на официальном сайте Nginx.

Для настройки репозитория yum в CentOS создаём файл /etc/yum.repos.d/nginx.repo:

[root@test ~]# cd /etc/yum.repos.d [root@test ~]# touch nginx.repo Открываем файл nginx.repo:[root@test ~]# nano /etc/yum.repos.d/nginx.repo Вставляем такое содержимое и сохраняем файл:[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=1 enabled=1 Для проверки подписи загружаем ключ и импортируем его в менеджер пакетов rpm:[root@test ~]# rpm --import http://nginx.org/keys/nginx_signing.key Устанавливаем Nginx:[root@test ~]# yum install nginx Запускаем:[root@test ~]# systemctl start nginx.service

Временно останавливаем:

[root@test ~]# systemctl stop nginx.serviceУстанавливаем Apache и PHP.

Устанавливаем Apache (в CentOS — httpd):

[root@test ~]# yum install httpd Устанавливаем PHP:[root@test ~]# yum install php Запускаем Apache:[root@test ~]# systemctl start httpd.service Временно останавливаем:[root@test ~]# systemctl stop httpd.serviceНастраиваем Nginx.

Добавляем в автозагрузку:

[root@test ~]# systemctl enable nginx.service Открываем основной конфигурационный файл:[root@test ~]# nano /etc/nginx/nginx.conf Редактируем и сохраняем:/etc/nginx/nginx.confuser nginx; worker_processes 2; pid /var/run/nginx.pid;

events {  worker_connections 1024;  multi_accept on; }

http {  error_log /var/log/nginx/error.log warn;  access_log off;    charset utf-8;  server_tokens off;    include /etc/nginx/mime.types;  default_type application/octet-stream;    reset_timedout_connection on;  client_header_timeout 15;  client_body_timeout 30;  send_timeout 15;  keepalive_timeout 5;  keepalive_requests 30;  client_max_body_size 8m;    limit_rate_after 30M;  limit_rate 500K;    open_file_cache max=10000 inactive=3m;  open_file_cache_min_uses 2;  open_file_cache_valid 1m;    sendfile on;  tcp_nodelay on;  tcp_nopush on;    include /etc/nginx/conf.d/*.conf; }

От какого пользователя запускаем Nginx:user nginx; Указываем количество рабочих процессов (зависит от количества ядер процессора и количества жёстких дисков, потому что головка диска быстрее перемещаться не сможет):worker_processes 2; Идентификатор процесса запущенного сервера:pid  /var/run/nginx.pid; Секция events:events {  # } Внутри блока events, максимальное количество одновременных соединении с сервером (worker_processes × worker_connections):worker_connections 1024; Внутри блока events, принимать соединения сколько будет возможно:multi_accept on; Секция http, остальное будет находиться внутри неё:http {  # } Записывать ошибки (уровня: warn, error, crit, alert) по указанному пути:error_log /var/log/nginx/error.log warn; Отключаем запись журнала доступа (жёсткий диск скажет спасибо):access_log off; Установим кодировку по умолчанию:charset utf-8; Отключим показ версии Nginx:server_tokens off; Подключить mimetypes:include  /etc/nginx/mime.types; Если MIME-тип файла не удастся определить, то по умолчанию файл будет бинарным:default_type application/octet-stream; Закрывать соединение если клиент не отвечает:reset_timedout_connection on; Читать заголовок запроса клиента не более 15 секунд:client_header_timeout 15; Читать тело запроса клиента не более 30 секунд — интервал устанавливается не на всю передачу тела запроса, а только между двумя последовательными операциями чтения:client_body_timeout 30; Если клиент не принимает ответ более 15 секунд, сбрасываем соединение:send_timeout 15; Держим соединение открытым не более пяти секунд:keepalive_timeout 5; Максимальное количество запросов с открытым соединением от одного клиента:keepalive_requests 30; Запросы больше 8 мегабайт принимать не будем:client_max_body_size 8m; Чтобы один пользователь не занял весь свободный канал трафика, после 30 Мб наложим ограничение на скорость отдачи данных:limit_rate_after 30M; Максимальная скорость с клиентом в рамках одного соединения после наложенных ограничений будет не более 500 Кб/с:limit_rate 500K; Устанавливаем максимальное количество файлов, информация о которых будет содержаться в кеше и удаляться, если файл не будет запрошен повторно в течении 3 минут:open_file_cache max=10000 inactive=3m; Если файл будет запрошен более 2 раз, поместить в кэш:open_file_cache_min_uses 2; Проверять актуальность кэша каждую минуту:open_file_cache_valid 1m; Отдавать статику без посредников:sendfile on; Не буферизировать данные:tcp_nodelay on; Отправлять заголовки одним пакетом:tcp_nopush on; Подключить конфиги:include /etc/nginx/conf.d/*.conf;Для каждого сайта создаём виртуальный хост Nginx.

Чтобы Nginx получил доступ к файлам сайта, добавим пользователя nginx в группу name.site:

[root@test ~]# usermod -a -G name.site nginx Затем создаём конфигурационный файл:[root@test ~]# touch /etc/nginx/conf.d/name.site.conf Открываем файл:[root@test ~]# nano /etc/nginx/conf.d/name.site.conf Редактируем и сохраняем:/etc/nginx/conf.d/name.site.confserver {  listen  80;  server_name name.site www.name.site;  #access_log /website/name.site/logs/nginx_access.log;  error_log /website/name.site/logs/nginx_error.log;

 location / {   proxy_pass http://127.0.0.1:8080/;   proxy_read_timeout 300s;   proxy_set_header Host $host;   proxy_set_header X-Real-IP $remote_addr;   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   proxy_buffering off;  }    location ~* \.(css|js|png|gif|jpg|jpeg|ico)$ {   root /website/name.site/www;   expires 1d;  } 

 error_page 500 502 503 504 /50x.html;  location = /50x.html {   root /usr/share/nginx/html;  } }

Сервер слушает на 80 порту:listen  80; Имя сервера, определяет в каком блоке будет выполнен запрос, указывается имя домена:server_name name.site www.name.site; Путь к журналу ошибок Nginx конкретного сайта:error_log /serves/name.site/logs/nginx_error.log; Перенаправить запрос Apache:proxy_pass http://127.0.0.1:8080/; Обрывать коннект через 300 секунд, если превышен таймаут при чтении ответа с сервера Apache:proxy_read_timeout 300s; Передать заголовки:proxy_set_header Host $host; Передать IP клиента:proxy_set_header X-Real-IP $remote_addr; Передать список серверов по которым прошёл запрос и добавить свой:proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; Отключить буферизацию проксируемого сервера:proxy_buffering off; Статику будет отдавать Nginx:location ~* \.(css|js|png|gif|jpg|jpeg|ico)$ {  root /serves/name.site/www;  expires 1d; }Настраиваем Apache.

Посмотрите какой именно модуль Apache у вас установлен. У меня — apache2-mpm-prefork (один процесс с одним потоком будет обрабатывать одно соединение, рекомендуется как безопасный совместно с PHP):

[root@test ~]# apachectl -V Открываем httpd.conf:[root@test ~]# nano /etc/httpd/conf/httpd.conf Редактируем и сохраняем:httpd.confServerRoot "/etc/httpd" DocumentRoot "/website" Include conf.modules.d/*.conf

User apache Group apache

Listen 127.0.0.1:8080 ServerName 127.0.0.1:8080 ServerAdmin root@localhost

ServerSignature Off ServerTokens Prod

RLimitMEM 786432000 TimeOut 250

AddDefaultCharset utf-8 DefaultLanguage ru

KeepAlive Off ContentDigest Off EnableSendfile off

ErrorLog "logs/error_log" LogLevel error

<IfModule mime_module>  TypesConfig /etc/mime.types </IfModule>

<Directory />  DirectoryIndex index.php  AllowOverride none  Require all denied </Directory>

<IfModule mpm_prefork_module>  StartServers 5  MinSpareServers 5  MaxSpareServers 10  MaxClients 30  MaxRequestsPerChild 2500 </IfModule>

<Files ".ht*">  Require all denied </Files>

IncludeOptional sites-enabled/*.conf

Устанавливаем корневой каталог Apache:ServerRoot "/etc/httpd" Каталог где будут храниться файлы сайтов:DocumentRoot "/website" Подгружаем конфигурационные файлы:Include conf.modules.d/*.conf От какого пользователя запускаем сервер:User apache От какой группы запускаем сервер:Group apache Указываем IP и порт с которых будем принимать запросы, снаружи этот сервер видно не будет:Listen 127.0.0.1:8080 Имя хоста и порт для определения самого себя:ServerName 127.0.0.1:8080 Адрес электронной почты который отправляется клиенту в случае ошибок:ServerAdmin root@localhost Отключаем отправку информации версии системы и сервера Apache:ServerSignature Off Отключаем отправку клиенту в заголовке информацию о Apache:ServerTokens Prod Ограничиваем использование памяти 750 мегабайтами:RLimitMEM 786432000 Максимальное время приёма запроса, обработки, отправки контента серверу Nginx:TimeOut 250 Устанавливаем кодировку:AddDefaultCharset utf-8 Задаём язык содержимого:DefaultLanguage ru Отключаем обработку большого количества запросов в одном соединении:KeepAlive Off Выключить генерацию Content-MD5 заголовков HTTP:ContentDigest Off Apache статику отдавать не будет, поэтому отключаем:EnableSendfile off Записываем ошибки Apache по указанному пути /etc/httpd/logs/error_log:ErrorLog "logs/error_log" Указываем c какого уровня записывать ошибки: LogLevel error Подключить mimetypes:<IfModule mime_module>  TypesConfig /etc/mime.types </IfModule> Секция Directory:<Directory />  ... </Directory> Внутри блока Directory, в случае указания пути до каталога, по умолчанию отдавать index.php::DirectoryIndex index.php Внутри блока Directory, запретить переопределение информации доступа в .htaccess:AllowOverride none Внутри блока Directory, запретить доступ к файлам сервера:Require all denied Секция mpm_prefork_module:<IfModule mpm_prefork_module>  ... </IfModule> Внутри блока mpm_prefork_module, после запуска Apache создать 5 процессов:StartServers 5 Внутри блока mpm_prefork_module, минимальное количество неиспользуемых процессов (если все процессы будут заняты, то запустятся новые свободные процессы):MinSpareServers 5 Внутри блока mpm_prefork_module, максимальное количество неиспользуемых (запасных) процессов:MaxSpareServers 10 Внутри блока mpm_prefork_module, максимальное количество дочерних процессов которые можно запустить одновременно, остальные встают в очередь (с увеличением дочерних процессов, увеличивается потребление памяти):MaxClients 30 Внутри блока mpm_prefork_module, после указанного числа обработанных запросов, процесс перезапускается (необходимо при переполнении — утечки памяти):MaxRequestsPerChild 2500 Закрываем доступ к .htaccess:<Files ".ht*">  Require all denied </Files> Подгружаем конфигурационные файлы:IncludeOptional sites-enabled/*.confДля каждого сайта создаём виртуальный хост Apache.

Добавляем пользователя apache в группу каждого сайта:

[root@test ~]# usermod -a -G name.site apache Создаём каталог под конфигурационные файлы виртуальных хостов Apache:[root@test ~]# mkdir /etc/httpd/sites-enabled Создаём конфигурационный файл:[root@test ~]# touch /etc/httpd/sites-enabled/name.site.conf Открываем файл:[root@test ~]# nano /etc/httpd/sites-enabled/name.site.conf Редактируем и сохраняем:/etc/httpd/sites-enabled/name.site.conf<VirtualHost *:8080>  ServerName name.site  ServerAlias www.name.site

 DocumentRoot /website/name.site/www

 <Directory "/website/name.site">   AllowOverride None   Require all granted  </Directory>

 DirectoryIndex index.php

 ErrorLog /website/name.site/logs/error.log  CustomLog /website/name.site/logs/requests.log combined </VirtualHost>

Блок VirtualHost, указывается какой порт слушать:

<VirtualHost *:8080>  ... </VirtualHost> Имя домена:ServerName name.site Зеркало домена:ServerAlias www.name.site Каталог где будут храниться файлы этого сайта:DocumentRoot /website/name.site/www Открыть доступ к файлам сайта:Require all granted Если путь указан до каталога, по умолчанию открывать:DirectoryIndex index.php Путь к журналу ошибок Apache конкретного сайта:ErrorLog /website/name.site/logs/error.log Путь к журналу доступа:CustomLog /website/name.site/logs/requests.log combinedПроверка Nginx и Apache.

Добавляем Apache в автозагрузку:

[root@test ~]# systemctl enable httpd.service Создаём, редактируем и сохраняем файл:[root@test ~]# touch /website/name.site/www/index.php [root@test ~]# nano /website/name.site/www/index.php Копируем конфиг php:[root@test ~]# cp /etc/httpd/conf.d/php.conf /etc/httpd/sites-enabled/php.conf Запускаем Nginx и Apache:[root@test ~]# systemctl start nginx.service [root@test ~]# systemctl start httpd.serviceНастраиваем PHP.

Открываем php.ini:

[root@test ~]# nano /etc/php.ini Редактируем и сохраняем:/etc/php.iniengine = On expose_php = Off short_open_tag = Off zlib.output_compression = Off disable_functions = exec, passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source, etc

display_startup_errors = Off display_errors = Off log_errors = On error_log = "/usr/local/zend/var/log/php.log" ignore_repeated_errors = Off ignore_repeated_source = Off html_errors = On

implicit_flush = Off output_buffering = 4K realpath_cache_size = 2M realpath_cache_ttl = 1800 zend.enable_gc = On

max_input_time = 200 max_execution_time = 30 file_uploads = On

memory_limit = 256M post_max_size = 8M upload_max_filesize = 2M max_file_uploads = 4

extension_dir = "/usr/local/zend/lib/php_extensions" date.timezone = Europe/Moscow default_mimetype = "text/html" default_charset = "UTF-8"

variables_order = "CGPS" register_argc_argv = Off auto_globals_jit = On enable_dl = Off

allow_url_fopen = On allow_url_include = Off

Включаем интерпретатор PHP, по необходимости можно выключить на конкретном сайте:engine = On Отключаем заголовки отправляемые клиенту о PHP:expose_php = Off Отключаем короткую запись тегов PHP … ?>:short_open_tag = Off Выключаем сжатие страниц:zlib.output_compression = Off Отключаем опасные функции:disable_functions = exec, passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source, etc Не выводить на экран ошибки возникшии во время старта PHP:display_startup_errors = Off Не показывать ошибки:display_errors = Off Логируем ошибки, после выключения их вывода на экран:log_errors = On Файл в который будут записываться ошибки:error_log = "/usr/local/zend/var/log/php.log" Не записывать одинаковые ошибки, которые проиcходят в конкретном файле и строке (ignore_repeated_source — нужно выключить):ignore_repeated_errors = Off При включении не записывает одинаковые ошибки, которые могут происходить в разных файлах и строках, поэтому выключаем:ignore_repeated_source = Off Выключить HTML теги при просмотре сообщений об ошибках:html_errors = On Складываем данные в буфер:implicit_flush = OffБуферизация вывода для всех файлов, максимальное количество:output_buffering = 4K Используем кэш realpath, тем самым уменьшая количество вызовов stat():realpath_cache_size = 2M Установим время хранения кэша 30 минут:realpath_cache_ttl = 1800 Включаем сборщик циклических ссылок:zend.enable_gc = On Указываем максимальное время в течении которого будут приниматься данные на сервер (POST, GET, HEAD), время измеряется с запуска PHP до момента выполнения скрипта:max_input_time = 200 Указываем максимальное время выполнения скрипта (значение не больше чем в Apache — Timeout) — вместо set_time_limit: max_execution_time = 30 Разрешить загрузку файлов на сервер:file_uploads = On Максимальный размер памяти, который можно использовать скрипту:memory_limit = 256M Максимальный размер данных, отправляемых методом POST (должно быть меньше — memory_limit):post_max_size = 8M Максимальный размер закачиваемого файла (должно быть меньше — post_max_size):upload_max_filesize = 2M Количество файлов, которые можно передать за один запрос:max_file_uploads = 4 Путь до каталога с модулями расширения:extension_dir = "/usr/local/zend/lib/php_extensions" Устанавливаем временную зону:date.timezone = Europe/Moscow Тип данных:default_mimetype = "text/html" Устанавливаем кодировку UTF-8:default_charset = "UTF-8" Порядок обработки переменных — $_COOKIE, $_GET, $_POST, $_SERVER:variables_order = "CGPS" Не объявлять переменные argv и argc:register_argc_argv = Off Переменные SERVER и ENV будут создаваться в момент использования, что приводит к увеличению производительности:auto_globals_jit = On Выключаем динамическую подгрузку, влияет на безопасность:enable_dl = Off Разрешаем работу с внешними файлами по URL:allow_url_fopen = On Отключаем использование внешних файлов:allow_url_include = OffУстанавливаем и настраиваем MySQL.

Отрываем my.cnf:

[root@test ~]# nano /etc/mysql/my.cnf Количество параллельных процессов, обрабатывающих конкурентные запросы к MySQL (количество ядер умноженных на два):thread_concurrency = 4 Устанавливаем кодировку по умолчанию для новых таблиц:default-character-set = utf8 Будем использовать таблицы InnoDB:default-storage-engine = InnoDB Устанавливаем размер буфера индексов таблиц в оперативной памяти (актуально для таблиц MyISAM):key_buffer_size = 5M Буфер данных и индексов таблиц — InnoDB:innodb_buffer_pool_size = 300M Максимальный размер оперативной памяти, выделяемой для временных таблиц, создаваемых MySQL:tmp_table_size = 50M Максимальное количество открытых таблиц, которые будут находиться в кэше:table_open_cache = 64 Буфер данных, который используется для записи информации на диск — InnoDB:innodb_log_buffer_size = 0M Отключаем кэширование запросов:query_cache_size = 0 Размер буфера который используется для сортировки (ORDER BY) или группировки GROUP BY) данных в каждом потоке:sort_buffer_size = 512K Выделяем для каждого потока память на каждую таблицу, при увеличении этого значения может пострадать скорость выполнения запроса:read_buffer_size = 512K Влияет на скорость сортировки, для запросов с — ORDER BY:read_rnd_buffer_size = 1M Размер буфера с использованием JOIN, если не используются индексы в этих запросах:join_buffer_size = 2M Размер стека, место для хранения списка задач (открыть или закрыть таблицу, выполнить запрос и т.п.):thread_stack = 1M Выделяем память для буфера соединения и его результатов, может быть увеличено до max_allowed_packet:net_buffer_length = 30K Максимальный размер данных, которые можно передать за один запрос:max_allowed_packet = 5M Максимальное количество одновременных соединений:max_connections = 75 Количество соединений, которые могут стоять в очереди:back_log = 250 Слушать только localhost:bind-address = 127.0.0.1 Не использовать TCP/IP соединения, передавать данные через сокет:skip-networking Чтобы рассчитать примерное потребление оперативной памяти на сервере MySQL (насколько я понял) можно воспользоваться следующей формулой (не забывайте, что серверу Apache уже выделено 750 МБ и ещё нужно оставить серверу Nginx):key_buffer_size + innodb_buffer_pool_size + tmp_table_size + ((sort_buffer_size + read_buffer_size + read_rnd_buffer_size + join_buffer_size + thread_stack) × max_connections) = ?Немного про безопасность.

Под root заходить нежелательно, поэтому создаём нового пользователя:

[root@test ~]# adduser newuser Задаём пароль пользователю — newuser:[root@test ~]# passwd newuser Устанавливаем пакет sudo:[root@test ~]# yum install sudo Заносим нового пользователя в sudo:[root@test ~]# gpasswd -a newuser wheel Если вы подключаетесь к SSH через 22 порт, то нужно его изменить, открываем sshd_config:[root@test ~]# nano /etc/ssh/sshd_config Меняем порт на любой свободный (не забываем через установленный у вас firewall закрыть 22 порт и открыть новый, например 54139):Port 54139 Запрещаем попытку входа с пустым паролем:PermitEmptyPasswords no Запретим вход в терминал root:PermitRootLogin no Разрешим логиниться в терминале только новому пользователю — newuser:AllowUsers newuser Перезагружаем ssh:[root@test ~]# service sshd restart

P.S. Можно использовать Nginx с php-fpm, но есть такое мнение, что при правильно настроенном Apache особой разницы в производительности не наблюдается.

Особое внимание хотелось обратить на безопасность и производительность сервера, поэтому если вы нашли ошибки или недочёты, просим написать это в комментариях и в случае необходимости мы внесём изменения в статью.

habr.com

3. Установка Apache Ant на CentOS 7

Процесс установки Apache Ant на CentOS 7 почти нечем не отличается от процесса установки на другие ОС. Как обычно, идем не сайт http://ant.apache.org/bindownload.cgi и скачиваем архив, или проделаем это все в консоли.

[roonyk@centos ~]$ ant -version bash: ant: command not found... [roonyk@centos ~]$ [roonyk@centos ~]$ cd Downloads/ [roonyk@centos Downloads]$ [roonyk@centos Downloads]$ wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.6-bin.tar.gz --2015-12-19 16:10:44-- http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.6-bin.tar.gz Resolving archive.apache.org (archive.apache.org)... 192.87.106.229, 140.211.11.131, 2001:610:1:80bc:192:87:106:229 Connecting to archive.apache.org (archive.apache.org)|192.87.106.229|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 5588888 (5.3M) [application/x-gzip] Saving to: ‘apache-ant-1.9.6-bin.tar.gz’ 100%[=========================================================================================================================================================================>] 5,588,888 33.2KB/s in 93s 2015-12-19 16:12:17 (58.6 KB/s) - ‘apache-ant-1.9.6-bin.tar.gz’ saved [5588888/5588888] [roonyk@centos Downloads]$ [roonyk@centos Downloads]$ tar xvfz apache-ant-1.9.6-bin.tar.gz

 

Переместим ant в директорию /usr/local и проверим версию.

[roonyk@centos Downloads]$ sudo mv apache-ant-1.9.6 /usr/local/ [sudo] password for roonyk: [roonyk@centos Downloads]$ cd /usr/local/apache-ant-1.9.6/bin/ [roonyk@centos bin]$ [roonyk@centos bin]$ pwd /usr/local/apache-ant-1.9.6/bin [roonyk@centos bin]$ [roonyk@centos bin]$ ant -version bash: ant: command not found... [roonyk@centos bin]$ [roonyk@centos bin]$ ./ant -version Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64/lib/tools.jar Apache Ant(TM) version 1.9.6 compiled on June 29 2015 [roonyk@centos bin]$

Выскочило предупреждение. Скорее всего из-за того что не установлен JDK. Проверим версию Java.

[roonyk@centos bin]$ java -version java version "1.7.0_91" OpenJDK Runtime Environment (rhel-2.6.2.3.el7-x86_64 u91-b00) OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode) [roonyk@centos bin]$ [roonyk@centos bin]$ javac -version bash: /usr/bin/javac: No such file or directory [roonyk@centos bin]$

Видим, что установлена Sun версия JRE. Если установлена не Sun версия Java, рекомендуется удалить и установить Sun версию. Удалить Java можно командой:

sudo yum remove java

Установим JDK.

[roonyk@centos bin]$ sudo yum install java-1.7.0-openjdk-devel

Проверим опять Java.

[roonyk@centos bin]$ java -version java version "1.7.0_91" OpenJDK Runtime Environment (rhel-2.6.2.3.el7-x86_64 u91-b00) OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode) [roonyk@centos bin]$ [roonyk@centos bin]$ javac -version javac 1.7.0_91 [roonyk@centos bin]$

Теперь попробуем запустить ant, но стоит отметить что запустить получится только из директории где он был установлен, так как путь еще не прописан.

[roonyk@centos bin]$ ant -version bash: ant: command not found... [roonyk@centos bin]$ [roonyk@centos bin]$ ./ant -version Apache Ant(TM) version 1.9.6 compiled on June 29 2015 [roonyk@centos bin]$

Для того чтобы можно было запускать ant не только из директории /usr/local/apache-ant-1.9.6/bin необходимо установить переменную $ANT_HOME и добавить ее в PATH. Для этого в домашней директории откроем файл .bash_profile или если его нету то необходимо создать такой файл. И добавим следующие строки:

[roonyk@centos bin]$ cd ~ [roonyk@centos ~]$ ls -l .bash_profile -rw-r--r--. 1 roonyk roonyk 193 Mar 5 2015 .bash_profile [roonyk@centos ~]$ [roonyk@centos ~]$ echo 'export ANT_HOME=/usr/local/apache-ant-1.9.6' >> ~/.bash_profile [roonyk@centos ~]$ echo 'export PATH=${PATH}:${ANT_HOME}/bin' >> ~/.bash_profile [roonyk@centos ~]$ [roonyk@centos ~]$ cat .bash_profile if [ -f ~/.bashrc ]; then . ~/.bashrc fi PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH export ANT_HOME=/usr/local/apache-ant-1.9.6 export PATH=${PATH}:${ANT_HOME}/bin [roonyk@centos ~]$ [roonyk@centos ~]$ source .bash_profile [roonyk@centos ~]$ [roonyk@centos ~]$ ant -version Apache Ant(TM) version 1.9.6 compiled on June 29 2015 [roonyk@centos ~]$

Теперь ant установлен и готов к использованию. Остался последний штрих это установка дополнений для ant.

[roonyk@centos ~]$ cd /usr/local/apache-ant-1.9.6/ [roonyk@centos apache-ant-1.9.6]$ pwd /usr/local/apache-ant-1.9.6 [roonyk@centos apache-ant-1.9.6]$ ls -l fetch.xml -rw-r--r--. 1 roonyk roonyk 11253 Jun 29 00:45 fetch.xml [roonyk@centos apache-ant-1.9.6]$ ant -f fetch.xml -Ddest=system Buildfile: /usr/local/apache-ant-1.9.6/fetch.xml pick-dest: [echo] Downloading to /usr/local/apache-ant-1.9.6/lib probe-m2: download-m2: ………………………….. init-cache: -cleanup-temp-cache: all: BUILD SUCCESSFUL Total time: 1 minute 24 seconds [roonyk@centos apache-ant-1.9.6]$

После того как ant установлен, посмотрим как его можно испоользовать http://fibed.net/12/.

fibed.net

Centos 7 установка apache | Users Wiki

Установка паролей для корневой учетной записи MySQL:. Apache непосредственно доступен как пакет CentOS 7, поэтому можно .

You can install SSL using the following command: sudo yum install mod_ssl . In order to secure Apache, you need to install SSL first.

Утилита ifconfig отсутствует в стандартной установке CentOS 7.

Do yourselves a favor, learn how to work with it. Don’t just disable it or put it in permissive mode. It is one of many things that is between you and hackers. Why purposely, for the lack of spending time with a book or documentation, weaken the security of a system on the Internet. And for those requesting that SELinux be disabled.

In this article, we will explain how to install, configure and manage Apache HTTP web server with virtual host on CentOS 7 or RHEL 7 server .

Ru предлагает услуги по установке, настройке, администрированию операционных систем семейства .

3 Windows user who try to install, here is the note where I have spent near 4 hours to get concluded: – you need NOT LATEST but 6.

Подробное описание установки и настройки панели управления phpmyadmin на веб сервер apache и nginx под управлением Centos 7.

В этой инструкции будет описано как установить веб-сервер Apache на CentOS 7 с поддержкой PHP и  . LAMP это акроним от Linux, Apache, MySQL, PHP.

Установка и настройка Apache, PHP, MySQL на CentOS (+ PMA и FTP). CentOS 7: # systemctl stop firewalld &amp;&amp; systemctl disable firewalld .

Для его установки вводим следующую команду: yum install proftpd proftpd-utils.

Настройка web сервера CentOS 7 на базе связки http сервера apache, php и сервера db mysql, или коротко.

offerov.net

Веб-сервер под CentOS 7

Внимание! Уже появилась более прогрессивная методика для версии 7.1.

В качестве операционной системы для будущей хостинг-площадки вполне рационально выбрать операционную систему Linux, диструбутив Centos версии 7.0. Свой выбор на Centos остановим, так как дистрибутив стабильный, прекрасно обновляется, поддерживает работу с пакетами. А самое главное - является вариантом Red Hat Enterprise Linux.

Удивительные вещи, которые ждут нас в седьмой версии:

  • Отказ от iptables, теперь вместо него firewall
  • Отказ от chkconfig - теперь вместо него systemd
  • Переход с MySQL к MariaDB.

Установка операционной системы

На данный момент актуальной является CentOS 7, ориентированный исключительно на архитектуру x86_64. Скачиваем образ ISO и устанавливаем с диска, но можно поставить и с флэшки.

В процессе установки выбираем вариант Desktop: он достаточно лёгкий (не будет тащить за собой кучу лишних пакетов), а кроме того позволит на первых порах отлаживать систему в графическом режиме. В будущем установим дополнительные пакеты вручную.

Аппаратная часть

В нашем распоряжении оказался уже морально устаревший двухядерный компьютер на базе процессора E3300, имеющий 2 Гб оперативной памяти. Как показала практика, его вполне достаточно.

Разделы диска

На шаге Installation Destination нам предлагается выбрать диск для установки системы. Если ничего не трогать (Automatically Configure Partitioning), то инсталлятор самостоятельно справится с разбиением на разделы. Считаю, такие важные вещи нельзя пускать на самотёк, они требуют вмешательства; поэтому наш выбор - I will configure partitioning. Видим диалоговое окно, показанное ниже.

Распределяем место на диске.

  • Нам необходимо выделить более 82 Мб для раздела boot.
  • Всё оставшееся место за исключением размера оперативной памяти отводим под корневой раздел.
  • Наконец, остаток отдаём под файл подкачки, помечая его swap.

 В  результате разделы будут видны примерно таким образом.

 В  отличие от шестой версии, файловой системой по умолчанию в седьмой версии является XFS, а не ext4. К сожалению, в сети довелось натыкаться на негативные отзывы о ней, однако не могу высказать своё собственное мнение: я вынужден использовать ext4 для совместимости с некоторым необходимым программно-аппаратным обеспечением.

Результат команды df -h после установки:

Отладка

Первое, что надо сделать – отключить систему безопасности SELinux.

Например, включенный selinux не позволит подключаться по протоколу ftp к серверу, если в будущем поставим vsftpd, клиент будет получать сообщения об ошибке

500 OOPS: cannot change directory:/home/username

В CentOS отключение SELinux выглядит просто. Открываем файл конфига

mcedit /etc/sysconfig/selinux

меняем значение

SELINUX=disabled

перезагружаемся

reboot

Сделано, теперь нас не будут поджидать сюрпризы в будущем. Скептикам, ратующим за безопасность системы, сразу сообщаю, что наш сервер будет надёжно защищён настройкой firewall (пришёл на смену iptables). В соответствии с функциональным назначением нашего сервера настраиваем firewall, открывая для общего доступа порты 80 и 443:

firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https

Перезапускаем:

firewall-cmd --reload

Проверяем, что yum установлен. Если его нет, придётся вручную тащить пакет mirror.centos. org/centos/7/os/x86_64/Packages/ и устанавливать через менеджер пакетов.

Устанавливаем необходимые пакеты, которые непосредственно отвечают за функционирование веб-сервера. В нашем случае это apache, mysql, php (для комплекса LAMP) или nginx, mysql, php (для комплекса LEMP), а возможно, и всё вместе.

Например, установка веб-сервера apache выглядит следующим образом:

yum -y install httpd httpd-devel

Запускаем службу, добавляем в автозагрузку, проверяем результат:

systemctl start httpd.service systemctl enable httpd.service

Если потребуется перезапустить apache после каких либо настроек (или после установки php), пригодится команда

systemctl restart httpd.service

Привычная утилита setup теперь отсутствует. Убеждаемся, что все службы будут стартовать при запуске системы с помощью systemctl is-enabled служба.

Варианты использования systemctl:

 
 
Остановка службы systemctl stop httpd.service
Запуск службы systemctl start httpd.service
Перечитать файл конфигурации systemctl reload httpd.service
Перезапуск службы systemctl restart httpd.service
Перезапуск службы, если она уже запущена systemctl try-restart httpd.service
Проверка статуса службы systemctl status httpd.service
Добавить в автозапуск systemctl enable httpd.service
Исключить из автозапуска systemctl disable httpd.service
Проверка присутствия в автозапуске systemctl is-enabled httpd.service
Вывести список служб systemctl list-unit-files --type=service

Устанавливаем PHP.

yum -y install php php-mysql php-common php-gd php-xml php-mbstring

Вариант наиболее полной установки PHP, с расчётом на разворачивание платформ для современных популярных движков Joomla, Wordpress и Drupal, будет выглядеть следующим образом:

yum -y install php php-gd php-mysql php-common php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

Если оригинальная версия php не соответствует минимальным требованиям размещаемых сайтов, можно воспользоваться описанной методикой или лучше более прогрессивной методикой.

Устанавливаем и запускаем MySQL.

yum -y install mysql mysql-server systemctl enable mysqld systemctl start mysqld

Не забываем задать пароль root для MySQL.

Альтернативный вариант: устанавливаем и запускаем MariaDB:

yum install -y mariadb mariadb-server systemctl enable mariadb systemctl start mariadb

Теперь готовимся к отказу от графического интерфейса.

Во всём семействе Red Hat Linux (Fedora, Red Hat, CentOS) используется следующая система уровней выполнения

  • Single-user text mode (without networking)
  • Not used (user-definable)
  • Full multi-user text mode
  • Not used (user-definable)
  • Full multi-user graphical mode (with an X-based login screen)
  • Reboot

Состояние подготовки к выключению кодируется нулём.

Так как перед нами стоит задача развернуть выделенный сервер, наиболее рационально выбрать уровень 3, который является многопользовательским, но не использует графику.

Редактируем

/etc/inittab

Прописываем

id:3:initdefault:

Теперь третий уровень выполнения становится уровнем по умолчанию, именно на нём будет работать система в случае перезапуска.

В любой момент времени проверить текущий уровень можно командой runlevel:

/sbin/runlevel

Теперь дело за малым:

  • Настроить mysql, однако необходимо заметить, что компания Red Hat предпочитает на данный момент альтернативную базу данных MariaDB
  • Настроить высокопроизводительный веб-сервер (например, связку nginx+apache), или оставить только службу httpd
  • Настроить php

Если все шаги выполнены, то у нас всё готово.

Можно клонировать сайты и запускать корабль в плавание.

drach.pro