Введение
В этой статье я расскажу, как настроить web сервер на базе популярного стека технологий — apache и php с модулем prefork. В связи с выходом нового релиза Centos 8, многие статьи на эту тему стали не актуальны, так как версии софта в базовых репозиториях обновились и тот же php нет смысла ставить из стороннего репозитория.
Работать будем на сервере под управлением CentOS 8
Не забудьте уделить внимание теме настройки iptables. В данной статье я ее не буду касаться, хотя тема важная для web сервера
В своей тестовой среде я буду использовать следующие сущности.
z.serveradmin.ru | имя тестового виртуального хоста и сайта |
/web/sites | директория для размещения виртуальных хостов |
10.20.1.23 | локальный ip адрес сервера |
pma.serveradmin.ru | имя виртуального хоста для phpmyadmin |
Если вам не хочется настраивать SELinux, то просто отключите его. Если же вы планируете включить и использовать после настройки, то переведите его в режим Permissive. В этом режиме он будет отключен, но все ограничения будут отражаться в лог файле audit.log. Это позволит нам в конце статьи сформировать модуль selinux для httpd и php и включить их.
Часто встречающиеся ошибки 1С и общие способы их решения Промо
Статья рассчитана в первую очередь на тех, кто недостаточно много работал с 1С и не успел набить шишек при встрече с часто встречающимися ошибками. Обычно можно определить для себя несколько действий благодаря которым можно определить решится ли проблема за несколько минут или же потребует дополнительного анализа. В первое время сталкиваясь с простыми ошибками тратил уйму времени на то, чтобы с ними разобраться. Конечно, интернет сильно помогает в таких вопросах, но не всегда есть возможность им воспользоваться. Поэтому надеюсь, что эта статья поможет кому-нибудь сэкономить время.
Загрузка сертификата CA в browser
При загрузке помните, что после данной процедуры, ваш browser
будет безоговорочно ??? принимать все сертификаты подписанные данным CA.
application/x-x509-ca-certcgi скрипт
crl2pkcs7 -inform PEM -outform DER -certfile $CA_cert.pem -out $CA_cert.der -nocrl |
<HTML><HEAD><TITLE>Load CA Certificate</TITLE></HEAD><BODY> <H1>Load Certificate Authority Certificate</H1> <FORM ACTION="http://example.some.somwere/cgi-bin/loadCAcert.pl" METHOD=post> <TABLE> <TR> <TD>Netscape Browser (PEM Format):</TD> <TD><INPUT TYPE="RADIO" NAME="FORMAT" VALUE="PEM" CHECKED></TD></TR> <TR><TD>Microsoft Browser (DER Format):</TD> <TD><INPUT TYPE="RADIO" NAME="FORMAT" VALUE="DER"></TD></TR> </TABLE> <INPUT TYPE="SUBMIT" VALUE="Load Certificate"> </FORM> </BODY></HTML> |
loadCAcert.pl
#!/usr/local/bin/perl -T require 5.003; use strict; use CGI; my $cert_dir = "/usr/local/CA/"; my $cert_file = "cacert.pem"; my $query = new CGI; my $kind = $query->param('FORMAT'); if($kind eq 'DER') { $cert_file = "cacert.der"; } my $cert_path = "$cert_dir/$cert_file"; open(CERT, "<$cert_path"); my $data = join '',<CERT>; close(CERT); print "Content-Type: application/x-x509-ca-cert\n"; print "Content-Length: ", length($data), "\n\n$data"; |
application/x-x509-ca-cert
AddType application/x-x509-ca-cert .pem
Шаг третий: установите сертификат
Теперь у нас есть все необходимые компоненты готового интерфейса. Следующее, что нужно сделать, — настроить виртуальные хосты для отображения нового сертификата.
Откройте файл конфигурации протокола Apache в текстовом редакторе с правами root:
sudo vi /etc/httpd/conf.d/ssl.conf
Найдите раздел, который начинается с . Здесь необходимо внести несколько изменений, чтобы гарантировать, что наш сертификат SSL правильно применяется на нашем сайте.
Настройка директив VirtualHost
Во-первых, раскомментируйте строку и отредактируйте адрес в кавычках в месте расположения корня документа вашего сайта. По умолчанию это будет , и вам не нужно менять эту строку, если вы не изменили корень документа для своего сайта. Однако, если вы следовали руководству, подобному руководству по настройке виртуальных хостов Apache , корень документа вашего сайта может отличаться.
Затем раскомментируйте строку и замените ее IP-адресом вашего домена или сервера (в зависимости от того, что вы указали как общее имя в своем сертификате):
/etc/httpd/conf.d/ssl.conf
Далее, найти и линий и либо удалить их или комментировать их. Конфигурация, которую мы вставляем в одно мгновение, предложит более безопасные настройки, чем значение по умолчанию, включенное в Apache CentOS:
/etc/httpd/conf.d/ssl.conf
Найти и линий и изменить их в каталог , который мы сделали в :
/etc/httpd/conf.d/ssl.conf
Теперь мы закончили с изменениями в фактическом блоке. Следующие изменения будут выполнены после окончания тега в этом же файле.
Настройка защищенных параметров SSL
Затем, чтобы более безопасно настроить Apache SSL, мы будем использовать рекомендации Remy van Elst на сайте Cipherli.st . Этот сайт предназначен для обеспечения простых в использовании настроек шифрования для популярного программного обеспечения.
Примечание . Предлагаемые настройки на связанном выше сайте обеспечивают надежную защиту. Иногда это связано с большей клиентской совместимостью. Если вам нужно поддерживать более старых клиентов, есть альтернативный список, к которому можно получить доступ, щелкнув ссылку на странице с надписью «Да, дайте мне ciphersuite, который работает с устаревшим / старым программным обеспечением». Этот список можно заменить на элементы, скопированные ниже.
Выбор какой конфигурации вы будете в значительной степени зависеть от того, что вам нужно поддерживать. Оба они обеспечат большую безопасность.
Для наших целей мы можем полностью скопировать предоставленные настройки. Мы просто сделаем два небольших изменения.
Потратьте минутку, чтобы прочитать HTTP Strict Transport Security, или HSTS , и, в частности, о функциях «предварительной загрузки» . Предварительная загрузка HSTS обеспечивает повышенную безопасность, но может иметь далеко идущие последствия, если случайно включена или включена некорректно. В этом руководстве мы не будем предварительно загружать настройки, но вы можете изменить это, если вы уверены, что понимаете последствия.
Другое изменение, которое мы сделаем, — это прокомментировать директиву, поскольку это недоступно в версии Apache, поставляемой с CentOS 7.
Вставить в настройки с сайта ПОСЛЕ окончания блока:
/etc/httpd/conf.d/ssl.conf
Когда вы закончите делать эти изменения, вы можете сохранить и закрыть файл.
Where to buy an SSL Certificate for Apache?
The best place to get an SSL Certificate for Apache is from SSL Dragon. We offer unbeatable prices and discounts on the entire range of our SSL products. We’ve carefully selected the best SSL brands on the market to equip your website with bulletproof protection. All our SSL certificates are compatible with Apache. Here are the types of SSL certificates we sell:
- Domain Validation
- Business Validation
- Extended Validation
- Wildcard
- Multi-Domain
- Code Signing
- IP Address
- Email/Documents
To help you choose the perfect SSL certificate, we developed two exclusive SSL tools. Our SSL Wizard needs just a couple of seconds to find the best SSL deal for your website. On the other hand, the Advanced Certificate Filter lets you sort and compare various SSL certificates by price, validation, and features.
How to generate a CSR code on Apache?
The Certificate Signing Request, or simply CSR, is a small text file containing information about your domain ownership and/or company. Generating the CSR is an integral part of the SSL buying process. All commercial Certificate Authorities require SSL applicants to complete this step. Here’s how you can create your CSR on Apache:
- Connect via Secure Shell (SSH) to your server’s terminal
- Type the following command at the prompt: Don’t forget to replace yourdomain with your real domain name. For example, if your domain is ssldragon.com, you type ssldragon,key and ssldragoin.csr
- Next, include the following information into the CSR. Please, use only alphanumeric characters when entering your details
- Country Name: enter the two-letter code of your country. If you have a Business Validation or Extended Validation certificate, make sure the country you submit, is the official residence of your organization
- State or Province Name: type the full name of the state or region where your company is registered
- Locality Name: specify the name of the city or town where your business is located
- Organization Name: enter the officially registered name of your company. For instance, GPI Holding LLC. For Domain Validation certificates, you can put in NA instead
- Organization Unit Name: it’s usually IT or Web Administration. You can sue NA for DV certificates
- Common Name: specify the Fully Qualified Domain Name (FQDN) to which you want to assign your SSL certificate. For example, ssldragon.com. If you want to activate a wildcard certificate, add an asterisk in front of your domain name (e.g. *.ssldragon.com)
- Email Address: provide a valid email address
- A challenge password: this is an obsolete attribute, no longer required by the Certificate Authorities. To avoid any confusion, leave this field blank
- An Optional Company Name: If your official company name seems too long or complex, you can enter a shorter name or your brand name here. Again, to avoid confusion, we recommend ignoring this field
- The OpenSSL utility will instantly create two files:
- key containing your private key (you will need it later during SSL installation)
- csr incorporating your CSR code (you will need it when applying for your SSL certificate)
- Open the yourdomain.csr file with a text editor of your choice, and copy-paste its content including the —–BEGIN CERTIFICATE REQUEST—– and footer —–END CERTIFICATE REQUEST—– tags during your order process with SSL Dragon.
Генерация криптографических ключей
Для генерации криптографических ключей понадобится ввести ряд команд в окне командной строки. Прежде всего, для хранения криптографических файлов создадим папку «D:\www\conf\ssl» и сделаем её текущей:
Механизмы криптографии в поставке Apache от Apache Lounge реализованы с помощью пакета OpenSSL, который представлен программой «Apache24\bin\openssl.exe». Чтобы не набирать постоянно полный путь к ней, добавим папку с двоичными файлами веб-сервера в переменную среды окружения PATH:
Для генерации секретного ключа сервера нужно в консоли OpenSSL ввести команду:
В этой команде «server.key» — это имя файла, в который будет записан секретный ключ, а «2048» — длина ключа в битах. Файл «server.key» содержит конфиденциальную информацию, поэтому нужно принять меры по его защите, чтобы предотвратить компрометацию сервера.
Открытый ключ сервера может быть извлечён из секретного ключа и выгружен в файл «server.pub» командой:
Однако для настройки HTTPS-сервера в явном виде открытый ключ нигде не требуется.
Перенаправить HTTP на HTTPS с помощью виртуального хоста
Виртуальные хосты Apache определяют настройки одного или нескольких доменов, размещенных на сервере. В директиве виртуального хоста вы можете указать корень документа сайта (каталог, содержащий файлы веб-сайта), создать отдельную политику безопасности для каждого сайта, использовать разные сертификаты SSL, настроить перенаправление и многое другое.
Обычно, когда сертификат SSL установлен в домене, у вас будет две директивы виртуального хоста для этого домена. Первый для HTTP-версии сайта на порту 80, а второй для версии HTTPS на порту 443.
В дистрибутивах на основе Red-Hat, таких как CentOS и Fedora, файлы виртуальных хостов хранятся в каталоге . В Debian и его производных, таких как Ubuntu, файлы хранятся в каталоге .
Чтобы перенаправить веб-сайт на HTTPS, используйте директиву как показано в примере ниже:
Поясним код. Мы используем две директивы виртуального хоста: одну для HTTP и одну для HTTPS-версии сайта.
- — Сервер Apache прослушивает входящие соединения на порту 80 (HTTP) для указанного домена.
- — Сервер Apache прослушивает входящие соединения на порту 443 (HTTPS) для указанного домена.
Директивы и определяют доменные имена виртуального хоста. Убедитесь, что вы заменили его на свое доменное имя.
Выделенная строка « внутри виртуального HTTP-хоста» перенаправляет трафик на HTTPS-версию сайта.
Обычно вы также хотите перенаправить HTTPS-версию сайта с www на не-www или наоборот. Вот пример конфигурации:
Код внутри виртуального хоста HTTPS (выделенные строки) проверяет, содержит ли заголовок запроса домен www, и перенаправляет на версию без www.
Каждый раз, когда вы вносите изменения в файлы конфигурации, вам необходимо перезапустить или перезагрузить службу Apache, чтобы изменения вступили в силу:
-
Debian и Ubuntu:
-
CentOS и Fedora:
Step 1: Generate Certificate
- Create a directory place to store the file
$ mkdir ~/certificates $ cd ~/certificates
2. Generate a CSR and private key using following command
$ openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes
After successfully running the command it will ask for the information of certificate request. Complete it using the appropriate information.
Country Name (2 letter code) : US
State or Province Name (full name) : FL
Locality Name (eg, city) []: Miami
Organization Name (eg, company) : My Company
Organizational Unit Name (eg, section) []:
The common name is your domain name or the server IP address.
3. Now move the certificate into the same folder you created using the following commands
$ mkdir /etc/apache2/ssl $ mv ~/certificates/* /etc/apache2/ssl/.
4. We are done creating the certificate now we will make the certificate work with Apache.
Testing Apache (HTTPS) Server:
To verify the Apache (HTTPS) web server, open your web browser and type your server IP Address (with “https://,” for example: “https://192.168.1.227”).
An error should appear on your browser, and you must manually accept the certificate. The error message shows up because we are using a self-signed certificate instead of certificate signed by a certificate authority that the browser trusts, and the browser is unable to verify the identity of the server that you are trying to connect to. Once you add an exception to the browser’s identity verification, you should see a Ubuntu test page for your newly secure site.
OCSP Stapling
The Online Certificate Status Protocol (OCSP) is a mechanism for
determining whether or not a server certificate has been revoked, and OCSP
Stapling is a special form of this in which the server, such as httpd and
mod_ssl, maintains current OCSP responses for its certificates and sends
them to clients which communicate with the server. Most certificates
contain the address of an OCSP responder maintained by the issuing
Certificate Authority, and mod_ssl can communicate with that responder to
obtain a signed response that can be sent to clients communicating with
the server.
Because the client can obtain the certificate revocation status from
the server, without requiring an extra connection from the client to the
Certificate Authority, OCSP Stapling is the preferred way for the
revocation status to be obtained. Other benefits of eliminating the
communication between clients and the Certificate Authority are that the
client browsing history is not exposed to the Certificate Authority and
obtaining status is more reliable by not depending on potentially heavily
loaded Certificate Authority servers.
Because the response obtained by the server can be reused for all clients
using the same certificate during the time that the response is valid, the
overhead for the server is minimal.
Once general SSL support has been configured properly, enabling OCSP
Stapling generally requires only very minor modifications to the httpd
configuration — the addition of these two directives:
SSLUseStapling On SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
These directives are placed at global scope (i.e., not within a virtual
host definition) wherever other global SSL configuration directives are
placed, such as in for normal
open source builds of httpd,
for the Ubuntu or Debian-bundled httpd, etc.
The path on the directive
(e.g., ) should match the one on the
directive. This path is relative
to .
This particular directive requires
(from the prefix on the
directive’s argument). This module is usually enabled already for
or on behalf of some module other than
. If you enabled an SSL session cache using a
mechanism other than , use that alternative
mechanism for as well. For example:
SSLSessionCache "dbm:logs/ssl_scache" SSLStaplingCache "dbm:logs/ssl_stapling"
You can use the openssl command-line program to verify that an OCSP response
is sent by your server:
$ openssl s_client -connect www.example.com:443 -status -servername www.example.com ... OCSP response: ====================================== OCSP Response Data: OCSP Response Status: successful (0x0) Response Type: Basic OCSP Response ... Cert Status: Good ...
The following sections highlight the most common situations which require
further modification to the configuration. Refer also to the
reference manual.
If more than a few SSL certificates are used for the server
OCSP responses are stored in the SSL stapling cache. While the responses
are typically a few hundred to a few thousand bytes in size, mod_ssl
supports OCSP responses up to around 10K bytes in size. With more than a
few certificates, the stapling cache size (32768 bytes in the example above)
may need to be increased. Error message AH01929 will be logged in case of
an error storing a response.
If the certificate does not point to an OCSP responder, or if a
different address must be used
Refer to the
directive.
You can confirm that a server certificate points to an OCSP responder
using the openssl command-line program, as follows:
$ openssl x509 -in ./www.example.com.crt -text | grep 'OCSP.*http' OCSP - URI:http://ocsp.example.com
If the OCSP URI is provided and the web server can communicate to it
directly without using a proxy, no configuration is required. Note that
firewall rules that control outbound connections from the web server may
need to be adjusted.
If no OCSP URI is provided, contact your Certificate Authority to
determine if one is available; if so, configure it with
in the virtual
host that uses the certificate.
If multiple SSL-enabled virtual hosts are configured and OCSP
Stapling should be disabled for some
If the OCSP responder is slow or unreliable
Several directives are available to handle timeouts and errors. Refer
to the documentation for the
,
, and
directives.
If mod_ssl logs error AH02217
AH02217: ssl_stapling_init_cert: Can't retrieve issuer certificate!
In order to support OCSP Stapling when a particular server certificate is
used, the certificate chain for that certificate must be configured. If it
was not configured as part of enabling SSL, the AH02217 error will be issued
when stapling is enabled, and an OCSP response will not be provided for clients
using the certificate.
Как в Windows для Apache подключить SSL сертификаты
При использовании сертификатов для настройки реального веб-сайта, удобнее создать виртуальный хост с примерно следующими настройками:
LoadModule ssl_module modules/mod_ssl.so Listen 443 <VirtualHost *:443> ServerName www.example.com SSLEngine on SSLCertificateFile "/путь/до/www.example.com.crt" SSLCertificateKeyFile "/путь/до/www.example.com.key" </VirtualHost>
Для настройки использования SSL на локальном веб-сервере Apache в Windows следуйте инструкции ниже (в моём случае веб-сервер установлен по этой инструкции, если у вас не так, то отредактируйте пути до файлов).
В каталоге C:\Server\ создайте новую папку certs и переместите туда файлы localhost.key и localhost.crt.
В директории C:\Server\bin\Apache24\conf\ откройте текстовым редактором файл httpd.conf. В самый низ добавьте туда строки:
LoadModule ssl_module modules/mod_ssl.so Listen 443 <VirtualHost _default_:443> DocumentRoot "c:/Server/data/htdocs/" ServerName localhost:443 ServerAdmin [email protected] ErrorLog "${SRVROOT}/logs/error-ssl.log" TransferLog "${SRVROOT}/logs/access-ssl.log" SSLEngine on SSLCertificateFile "C:\Server\certs\localhost.crt" SSLCertificateKeyFile "C:\Server\certs\localhost.key" </VirtualHost>
Обратите внимание, что вам может понадобиться отредактировать следующие директивы
- DocumentRoot — укажите путь до сайтов на сервере
- ServerName — укажите имя вашего хоста, если это не локалхост
Обратите внимание, что мы не просто поместили эти строки в конфигурационный файл, а заключили их в контейнер VirtualHost. Дело в том, что если этого не сделать, то директива SSLEngine on включит SSL для всего веб-сервера, и даже при попытке открыть сайты на 80 порту, эти подключения будут обрабатываться как HTTPS, что вызовет ошибку «Bad Request
Your browser sent a request that this server could not understand». По этой причине эти настройки помещены в контейнер виртуального хоста. Обратите внимание, что используется ключевое слово _default_ — то есть сюда будут собираться все запросы на 443 порт если они не предназначены для другого хоста, который также настроен. То есть при желании вы можете создать больше виртуальных хостов для работы с HTTPS, при этом вместо _default_ указывайте IP хоста или символ * (звёздочка).
Связанная статья: Виртуальный хост Apache по умолчанию. _default_ и catch-all в Apache
После этого сохраните изменения, закройте файл и перезапустите веб-сервер.
c:\Server\bin\Apache24\bin\httpd.exe -k restart
Для проверки сделанных изменений, перейдите по адресу https://localhost/ (протокол HTTPS). Поскольку сертификат является самоподписанным, то появится такое сообщение:
К самоподписанным сертификатам нет доверия и эту ошибку нельзя убрать без добавления таких сертификатов в доверенные. Для перехода нажмите «Всё равно продолжить».
Как уже было сказано, валидные сертификаты нужно покупать, либо использовать тестовые. В чём подвох использования тестовых сертификатов? Формально, в какой-то момент их могут перестать выдавать, но, на самом деле, уже сейчас многие сайты годами живут с такими тестовыми сертификатами. На современных хостингах настроено автоматическое подключение и продление таких сертификатов — это просто супер удобно. Обычно на хостингах предусмотрено некоторое количество абсолютно бесплатных SSL сертификатов с автоматическим продлением, но за небольшую плату (10 рублей в месяц), можно подключить тестовые сертификаты для любого количества сайтов. Пример такого хостинга здесь.
Шаг четвертый: активируйте сертификат
К настоящему времени вы создали сертификат SSL и настроили свой веб-сервер, чтобы применить его на своем сайте. Чтобы применить все эти изменения и начать использовать SSL-шифрование, вы можете перезапустить сервер Apache, чтобы перезагрузить его конфигурации и модули.
Сначала проверьте конфигурационный файл на наличие синтаксических ошибок, набрав:
sudo apachectl configtest
Пока выход заканчивается , вы можете продолжить. Если это не является частью вашего вывода, проверьте синтаксис ваших файлов и повторите попытку:
Output
Перезапустите сервер Apache, чтобы применить изменения, введя:
sudo systemctl restart httpd.service
Затем убедитесь, что порт 80 и 443 открыты в вашем брандмауэре. Если вы не используете брандмауэр, вы можете пропустить вперед.
Если вы используете firewall- брандмауэр, вы можете открыть эти порты, набрав:
- sudo firewall-cmd —add-service=http
- sudo firewall-cmd —add-service=https
- sudo firewall-cmd —runtime-to-permanent
Если работает брандмауэр iptables , команды, которые необходимо выполнить, сильно зависят от вашего текущего набора правил. Для базового набора правил вы можете добавить доступ HTTP и HTTPS, набрав:sudo iptables -I INPUT -p tcp -m tcp —dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp -m tcp —dport 443 -j ACCEPT
В своем веб-браузере попробуйте посетить свое доменное имя или IP-адрес, чтобы увидеть новый сертификат в действии.
Ваш веб-браузер, скорее всего, предупредит вас, что сертификат безопасности сайта не заслуживает доверия. Поскольку ваш сертификат не подписан сертификационным центром, которому доверяет браузер, браузер не может проверить личность сервера, к которому вы пытаетесь подключиться. Мы создали самозаверяющий сертификат вместо доверенного сертификата с сертификатом CA, поэтому это имеет смысл.
После добавления исключения в проверку подлинности браузера вам будет разрешено перейти на ваш вновь защищенный сайт.
Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана
Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом.
Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С).
На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков).
Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres.
А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL).
Если, конечно, статья придется вам по вкусу.
Подготовка системы и установка зависимостей
Если вы только знакомитесь с материалом и еще не подготовили свою систему, то рекомендую воспользоваться моей подробной инструкцией с видео по установке freebsd 10.2. Именно на ней я буду производить установку и настройку sams2.
После установки необходимо на всякий случай обновить freebsd до последней версии. Если вы это уже сделали, то рекомендую выполнить предварительную настройку системы, ну или хотя бы установите MC, с ним удобнее.
Теперь установим необходимые пакеты. Можно все собрать из портов, но я буду ставить готовые пакеты, просто потому что так быстрее. Это не принципиально, если вы привыкли собирать из портов, делайте это.
Нам понадобится web сервер для работы панели администрирования. Подробно этот вопрос я уже рассматривал отдельно в статье посвященной настройке web сервера. Можно подсмотреть там, как быстро установить apache + php + mysql + phpmyadmin. Здесь я просто приведу список команд, которые я использовал при установке. За всеми подробностями и комментариями прошу обращаться по приведенной ссылке.
Сервер, с которым будем работать:
# uname -v FreeBSD 10.2-RELEASE-p8
Выполним установку mysql, ее использует самс для хранения данных:
# pkg install -y mysql56-server
Добавляем mysql_enable=»YES» в /etc/rc.conf и запускаем mysql:
# /usr/local/etc/rc.d/mysql-server start
Выполним начальную настройку mysql с помощью скрипта:
# /usr/local/bin/mysql_secure_installation
Устанавливаем web сервер apache, он нам нужен для работы панели администрирования:
# pkg install -y apache24
Добавляем apache24_enable=»YES» в /etc/rc.conf и запускаем:
# /usr/local/etc/rc.d/apache24 start
Устанавливаем все необходимое, связанное с php:
# pkg install -y php56 php56-extensions mod_php56 php56-mysql
Этот шаг не обязательный, можно пропустить. Я просто привык использовать phpmyadmin в работе. С ним удобно. Устанавливаем phpmyadmin:
# pkg install -y phpmyadmin
Редактируем конфиг apache, добавляем в самый конец для работы php скриптов и доступа к phpmyadmin:
<IfModule mod_php5.c> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.php index.html </IfModule> Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/" <Directory "/usr/local/www/phpMyAdmin/"> AllowOverride All Require all granted DirectoryIndex index.php index.html index.htm Order allow,deny Allow from All </Directory>
Создаем файл настроек php.ini, скопировав дефолтный:
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
И устанавливаем там временную зону:
date.timezone = Europe/Moscow
Если не установить, то в веб интерфейсе самса будут постоянно вылезать ошибки, связанные с временной зоной. После всех изменений перезапускаем apache:
# apachectl restart
Все, web сервер готов. Для теста можете зайти на http://ip-сервера/phpmyadmin/ и проверить, все ли в порядке. Если что-то не так, то разберитесь сначала с работой веб сервера, и только потом двигайтесь дальше.
Если веб сервер не работает, то обратитесь либо к моему руководству на тему настройки веб сервера, либо к какому-нибудь другому. Подобного материала в интернете много. Его можно было не включать в эту статью, но я для целостности картины привел краткую настройку. Банального копи паста достаточно, чтобы все заработало.