Web сервер настройка linux

Подготовка сервера

1. Обновить пакеты сервера

sudo apt-get update
sudo apt-get upgrade

2. Устанавливаем пакет компонентов Apache, MySQL, PHP (LAMP)

Символ ^ в конце обязателен — это часть команды

Во время установки MySQL будет выведен запрос на создание пароля root (это отдельный пароль администратора именно для SQL сервера, а не для основного администратора сервера).

Проверяем установку web-сервера http://[ip адрес сервера ubuntu] — должна отобразиться тестовая страница apache.

3. Устанавливаем phpMyAdmin

sudo apt-get install phpmyadmin
sudo service apache2 restart

Необходимо выполнить следующие команды:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo /etc/init.d/apache2 reload

sudo apt-get install php-mbstring php-gettext
sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo systemctl restart apache2

Проверяем доступность интерфейса http://[ip адрес сервера ubuntu]/phpmyadmin

4. Устанавливаем FTP (для удобства работы с файлами)

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

From inetd — демон ProFTPd будет работать из-под службы inetd.
Standalone — ProFTPd будет установлен как самостоятельный демон.

Рекомендую выбрать вариант Standalone, т.к. гораздо удобней работать с ProFTPd, как с отдельной службой.

После установки ftp сервер будет запущен и можно подключаться.

Однако, желательно его дополнительно настроить:

sudo nano /etc/proftpd/proftpd.conf

Раскомментировать значение RequireValidShell off и DefaultRoot

После настройки FTP нужно перезапустить:

5. Установка apache2-mpm-itk

Этот модуль нужен, чтобы сервер Apache мог рабтать с файлами сайта от имени владельца папки.

По умолчанию на директорию с файлами сайта распространяются права 755 и права 644 на все файлы. Это даёт права на запись файлов и папок только их владельцем. По этой причине при работе с файлами через FTP и Apache (например через интерфейс CMS) файлы будут сзданы от имени разных пользователей и возникают проблемы с их изменением или удалением. В решении именно этой проблемы и помогает данный модуль. Он указывает в настройках хоста каждого сайта от имени какого пользователя и группы будет работать Apache в указанной директории.

sudo apt-get install libapache2-mpm-itk
sudo a2enmod mpm_prefork
sudo a2enmod mpm_itk
sudo systemctl restart apache2

6. Включение mod_rewrite (для возможности работы ЧПУ)

sudo a2enmod rewrite
sudo service apache2 restart

Начало создания сайта

7. Создаём пользователя и каталога для работы с сайтами

sudo useradd -m -s /bin/false имя_пользователя
sudo passwd имя_пользователя

( имя_пользователя — новый пользователь, от имени которого будут выполняться работы с сайтом. Это поможет разграничить права при работе с несколькими сайтами на одном сервере)

На предложение системы вводим пароль нового пользователя (дважды)

После создания пользователя размещаем отдельный каталог для сайта (например www), зайдя новым пользователем по FTP в домашний каталог, либо следующей командой:

sudo mkdir /home/имя_пользователя/www
sudo chown -R имя_пользователя : группа_пользователя /home/имя_пользователя/www/

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

Читайте также:  Почему мы хотим работать с windows

8. Создаём виртуальный хост для сайта

Создаём файл конфигурации виртуального хоста из варианта по-умолчанию

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/новый_сайт.conf

sudo nano /etc/apache2/sites-available/новый_сайт.conf

Изменяем и дополняем следующие значения:

Включаем созданный виртуальный хоста и перезапускаем apache

sudo a2ensite новый_сайт

9. Создаём базу данных MySQL

Необходимо зайти в кансоль управления mysql

При этом система запросит пароль root от mysql (именно от mysql, который задавался при установке LAMP). При удачном входе в кансоль mysql значение перед курсором сменится на mysql>. После этого создание новой базы sql и пользователя для управления ею можно выполнить одной командой:

create database имя_базы; GRANT ALL ON имя_базы.* TO ‘пользователь_базы‘@’localhost’IDENTIFIED BY ‘пароль_пользователя_базя_sql‘;

Для выхода из кансоли mysql нужно ввести команду

На этом можно закончить. Полноценный хостинг для сайта готов.

Дополнительно для удобства управления и контроля за сервером через WEB-интерфейс можно установить панель управления Webmin

Также дополнительно можно настроить параметры работы PHP («по вкусу» — например размер загружаемых фалов в параметре upload_max_filesize = 2M )

Источник

Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP

Скорее всего какие-то части этой статьи уже знакомы многим хаброжителям, но в связи с покупкой нового рабочего ноутбука я решил собрать все крупинки воедино и организовать удобное средство для разработки. Мне часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows то использовал OpenServer. Но с переходом на Linux мне нехватало той простоты создания хостов и переключений версий которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)

будет запущен тот же файл но уже с версией PHP 7.2.7

Другие версии доставляются аналогичным описанным ниже способом.

Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта

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

Всё это я проверну на LinuxMint19, он на базе Ubuntu18.04, так что с ним все будет аналогично.

Для начала поставим необходимые пакеты

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

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

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

Создадим папку в которой будем собирать исходники PHP для разных версий

Также нам понадобится папки для CGI скриптов

И runtime папка для этих же скриптов, с правами

И так как каталог у нас находится в оперативной памяти, добавим его создание при старте системы, для этого добавим в /etc/tmpfiles.d/fcgid.conf

У меня dnsmasq-base идет с коробки, если нет то его всегда можно доставить.

Добавим правило в его конфигурацию. Найти файл конфигурации dnsmasq.conf можно так

Либо если он как и у меня является частью NetworkManager то создать новый файл конфигурации в /etc/NetworkManager/dnsmasq.d/local.conf
Добавим в него строчку для перенаправление нашего локального домена на локальную машину.

Также нужно включить необходимые модули апача

Предварительная подготовка завершена, приступаем к сборке различных локальных версий PHP. Для каждой версии PHP проделываем следующие 4 шага. На примере 5.6.36

Читайте также:  Ustanovka windows na eee pc

1. Скачиваем исходники нужной версии и распаковываем их

2. Cобираем из исходников нужную версию PHP, и помещаем ее в /opt/php-5.6.36

3. Создаем CGI для обработки этой версии в /var/www/cgi-bin/php-5.6.36.fcgi

4. Делаем файл исполняемым

5. Добавляем экшен для обработки каждой версии в /etc/apache2/mods-available/fcgid.conf

6. Добавляем правило для обработки каждой версии в /etc/apache2/sites-available/000-default.conf

Ну вот и всё. Осталось только перезапустить apache и dnsmasq и пользоваться

Источник

Установка и настройка веб-сервера для сайта в Ubuntu

Автор: Сергей Никонов

Настройка веб-сервера для разработки сайта на PHP в операционной системе Ubuntu — это задача, с которой должен уметь справиться веб-разработчик. В этой статье мы разберемся как установить и настроить LAMP-сервер (Linux, Apache, MySQL, PHP) для ваших сайтов.

Что такое LAMP

LAMP расшифровывается как Linux, Apache, MySQL, PHP. Связка технологий Apache, MySQL, PHP необходима для того, чтобы запустить веб-сайты как собственной разработки, так и сайты на популярных CMS: WordPress, Joomla, Prestashop, Drupal и прочих.

Каждый компонент мы будем устанавливать и настраивать по отдельности.

Установка Apache

Apache — это веб-сервер с открытым исходным кодом. Работу веб-сервера можно описать так: На каждый запрос, веб-сервер отдает ответ в зависимости от запроса.

Иными словами, по аналогии, если вы обратитесь с каким-либо вопросом к человеку, он вам ответит или не ответит.

Но если вы зададите ему вопрос, на который он не может ответить, человек ответит вам не знаю. По аналогии работает и наш веб-сервер Apache.

Для того, чтобы установить веб-сервер Apache, введите команду в терминал:

Что такое команда sudo и зачем она нужна, вы можете прочитать в этой статье.

После установки Apache, для проверки работоспособности веб-сервера, введите в браузере ip адрес сервера.

Если вы устанавливали Apache сервер на локально, например на ваш домашний компьютер, введите в браузере 127.0.0.1 и вы должны увидеть страницу приветствия веб-сервера Apache.

Установка PHP

Для того, чтобы установить PHP на ваш сервер, необходимо выполнить команду:

sudo apt-get install php5 php5-common libapache2-mod-php5 php5-cli php5-cgi php5-mysql

В данной статье мы не будем подробно останавливаться на названиях устанавливаемых пакетов, которые мы устанавливаем вместе с пакетом php5, поэтому двигаемся дальше.

После выполнения команды выше, введите в терминале php -v и вы должны удивить версию php:

$ php -v
PHP 5.5.9-1ubuntu4.11 (cli) (built: Jul 2 2015 15:23:08)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

Если вы у себя это видите в терминале, это значит, что php установлен.

Установка MySQL

MySQL — это база данных, в которой хранятся данные вашего сайта. SQL — это язык запросов к базе данных MySQL. Подробнее о языке запросов SQL вы можете почитать в этой статье.

Установка MySQL на ваш с сервер с Ubuntu/Linux очень простая. Для установки введите команду:

sudo apt-get install mysql-server mysql-client

В процессе установки MySQL вас попросят ввести пароль для пользователя root в MySQL, затем попросят ввести пароль для root пользователя MySQL повторно.

Будьте внимательны, перед вводом запишите пароль.

В данной статье мы установили не только MySQL сервер, но и консольный MySQL клиент. Для удобства работы с MySQL давайте установим графический веб-клиент к MySQL — PhpMyAdmin.

Для установки PhpMyAdmin введите команду:

sudo apt-get install phpmyadmin

В процессе установки PhpMyAdmin вам предложат настроить связку веб-сервера и phpmyadmin автоматически. На этом шаге выберите автоконфигурацию для веб-сервера apache2.

На следующий вопрос о конфигурации ответьте Yes. После этого вас снова попросят ввести пароль к пользователю root.

Читайте также:  Amd sata controller drivers windows 10

После этого, установка и настройка phpmyadmin будет завершена. Для проверки работоспособности phpmyadmin введите в браузере ip адрес вашего веб-сервера и после слеша допишите phpmyadmin.

Если вы устанавливали phpmyadmin на локальный сервер, введите в браузере:

В результате вы увидите страницу авторизации phpmyadmin:

Введите root и пароль, который вы задавали в процессе установки MySQL и вы войдете в phpmyadmin.

Настройка конфига веб-сервера Apache для работы на домене

Очень часто простой установки веб-сервера Apache бывает недостаточно, если вы хотите разрабатывать сайт и просматривать его так, как будто он находится в интернете и доступен по вашему доменному имени, например superdomain.com.

Давайте настроим конфиг Apache2 для того, чтобы это реализовать.

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

После этого создайте каталог для вашего сайта:

Для того, чтобы мы могли вносить изменения в каталог superdomain, нам нужно изменить владельца каталога с пользователя root на вашего пользователя.

Для этого введите в терминале команду:

А после этого команду:

sudo chown -R user:user superdomain

Последней командой мы поменяли владельца и группу каталога superdomain на вашего пользователя (вместо user:user напишите имя вашего пользователя)

Затем перейдите в созданный каталог superdomain и создайте в нем файл index.php и php скриптом.

Для этого в терминале введите команду:

и введите команду:

после этого вставьте php скрипт, например с таким содержимым:

Для того, чтобы сохранить изменения в редакторе nano, нажмите сочетание клавиш ctr+x и букву y, затем enter.

Команды Linux описаны в этой статье.

А сейчас мы настроим конфиг веб-сервера apache2.

Для этого введите команду:

sudo nano /etc/apache2/sites-available/superdomain.com.conf

и вставьте этот текст:

После этого нажмите сочетание клавиш ctr+x и букву y, затем enter.

В этом конфиге мы создали указали пути к директории нашего сайта superdomain, указали название домена, правила, email веб-мастера, если пользователь будет видеть ошибку, пути к лог файлам apache и другие настройки.

После этого нам необходимо перейти в каталог apache :

и выполнить команду:

sudo a2ensite superdomain.com.conf

Если все сделали правильно после ввода этой команды вы должны увидеть это:

Enabling site superdomain.com.
To activate the new configuration, you need to run:
service apache2 reload

Для применения нового конфига apache для нашего сайта superdomain.com введите команду:

Если после запуска команды выше, веб-сервер apache2 не будет ругаться на ошибки, значит вы все сделали правильно и остался последний шаг, чтобы запустить наш сайт с домена superdomain.com.

Если у вас нет понимания команд которые вы вводите в терминал Linux, прочитайте статью о Bash командах.

Последнее изменение которое необходимо внести, для запуска сайта на домене superdomain.com, прописать в файле hosts ip-адрес сервера(в данном примере веб-сервер локальный) и название домена superdomain.com:

Файл hosts находится в Linux:

В операционной системе Winodows, файл hosts находится:

Все готово! Сохраните файл hosts и в браузере введите

В результате вы должы увидеть php вывод страницы index.php из каталога superdomain.

Выводы

В данной статье мы настроили LAMP сервер в операционной системе Ubuntu. Аналогично, вы можете создавать каталоги и конфиги apache2 для других ваших сайтов.

Мы показали базовые настройки LAMP. А если ваш проект перерастет во что-то большое, вы можете купить VDS сервер, от компании Timeweb с Ubuntu на борту и произвести настройку LAMP в нем.

В следующих статьях мы рассмотрим расширенные настройки PHP, Apache, MySQL и то, как настройть WAMP(Windows, Apache, PHP, MySQL).

Оставайтесь с нами и следите за новыми публикациями в нашей группе VK.

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

Источник

Оцените статью