Запуск FAMP-сервера

Краткое руководство по быстрой установке и настройке веб-сервера в связке FreeBSD 13.0, Apache HTTP Server, PHP и MariaDB (MySQL).

Установка сервера баз данных

Для начала необходимо установить MariaDB (MySQL) сервер. Как это делается, можно почитать здесь: https://dondub.com/2021/05/zapusk-subd-mariadb-na-freebsd/

Установка веб-сервера

Теперь устанавливаем Apache HTTP Server

# pkg install apache24

Затем открываем файл /etc/rc.conf

# vi /etc/rc.conf

и пропишем в нём строчку:

apache24_enable="YES"

После этого открываем файл /usr/local/etc/apache24/httpd.conf

# vi /usr/local/etc/apache24/httpd.conf

и под закомментированной строчкой

#ServerName www.example.com:80

добавить такую:

ServerName localhost

Далее запускаем службу apache24

# service apache24 start

На другой машине в сети в браузере впишем адрес сервера:

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

И видим долгожданное It works!

Это — страница по умолчанию. Она расположена в директории /usr/local/www/apache24/data/.

Установка и настройка PHP

Пришло время установить интерпретатор PHP и его расширения, а также модуль PHP для apache

# pkg install php74 php74-mysqli php74-pdo php74-zip php74-bz2 php74-gd php74-curl php74-json php74-session php74-fileinfo php74-opcache php74-mbstring php74-openssl php74-extensions mod_php74

Затем открываем файл /usr/local/etc/apache24/httpd.conf

# vi /usr/local/etc/apache24/httpd.conf

находим строчку

DirectoryIndex index.html

и исправим её на:

DirectoryIndex index.html index.htm index.shtml index.php

Теперь создадим файл /usr/local/etc/apache24/Includes/php-application.conf

# touch /usr/local/etc/apache24/Includes/php-application.conf

откроем его

# vi /usr/local/etc/apache24/Includes/php-application.conf

и впишем в него такие строчки:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phpsXsource

После этого скопируем файл /usr/local/etc/php.ini-production в /usr/local/etc/php.ini

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

и зададим ему необходимые права

# chmod u+w /usr/local/etc/php.ini

Снова перезапускаем службу apache24

# service apache24 restart

Проверяем:

создадим файл /usr/local/www/apache24/data/info.php

# touch /usr/local/www/apache24/data/info.php

откроем его

# vi /usr/local/www/apache24/data/info.php

и пропишем в него следующие строчки:

<?php
	phpinfo();
?>

На другой машине в сети в браузере впишем:

http://IP-адрес-сервера/info.php

и мы должны увидеть информацию о PHP и его расширениях

Настройка виртуальных хостов

Перед созданием виртуальных хостов необходимо убедиться в наличии соответствующих A или AAAA записей на DNS-сервере. Эти записи создаются в личном кабинете в панели управления регистратора доменных имён, или на собственном DNS-сервере https://dondub.com/tag/nameserver/.

Создадим директории для хранения файлов сайтов

# mkdir /usr/local/www/apache24/data/{ws45.local,test.ws45.local}
# mkdir /usr/local/www/apache24/data/{ws45.local,test.ws45.local}/public_html

затем в каждой директории создадим файл index.html

# touch /usr/local/www/apache24/data/ws45.local/public_html/index.html
# touch /usr/local/www/apache24/data/test.ws45.local/public_html/index.html

Далее в каждой директории открываем файл index.html

# vi /usr/local/www/apache24/data/ws45.local/public_html/index.html

и прописываем что-нибудь для того, чтобы убедиться, что виртуальные хосты работают, например:

<html>
<body>
        <h1>ws45.local works!</h1>
</body>
</html>

Также и для второго:

# vi /usr/local/www/apache24/data/test.ws45.local/public_html/index.html
<html>
<body>
        <h1>test.ws45.local works!</h1>
</body>
</html>

После этого открываем файл /usr/local/etc/apache24/httpd.conf

# vi /usr/local/etc/apache24/httpd.conf

и раскомментировать строку

Include etc/apache24/extra/httpd-vhosts.conf

Теперь откроем файл /usr/local/etc/apache24/extra/httpd-vhosts.conf

стираем всё, что там есть, и прописываем конфиги своих виртуальных хостов:

<VirtualHost *:80>
    ServerAdmin webmaster@ws45.local
    DocumentRoot "/usr/local/www/apache24/data/ws45.local/public_html"
    ServerName www.ws45.local
    ServerAlias ws45.local
    ErrorLog "/var/log/ws45.local-error_log"
    CustomLog "/var/log/ws45.local-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@test.ws45.local
    DocumentRoot "/usr/local/www/apache24/data/test.ws45.local/public_html"
    ServerName test.ws45.local
    ServerAlias test.ws45.local
    ErrorLog "/var/log/test.ws45.local-error_log"
    CustomLog "/var/log/test.ws45.local-access_log" common
</VirtualHost>

Перезапускаем службу apache24

# service apache24 restart

Проверяем:

http://ws45.local

http://test.ws45.local

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *