- Подготовка сервера
- 1. Обновить пакеты сервера
- 2. Устанавливаем пакет компонентов Apache, MySQL, PHP (LAMP)
- 3. Устанавливаем phpMyAdmin
- 4. Устанавливаем FTP (для удобства работы с файлами)
- 5. Установка apache2-mpm-itk
- 6. Включение mod_rewrite (для возможности работы ЧПУ)
- Начало создания сайта
- 7. Создаём пользователя и каталога для работы с сайтами
- 8. Создаём виртуальный хост для сайта
- 9. Создаём базу данных MySQL
- На этом можно закончить. Полноценный хостинг для сайта готов.
- Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP
- Установка и настройка веб-сервера для сайта в Ubuntu
- Что такое LAMP
- Установка Apache
- Установка PHP
- Установка MySQL
- Настройка конфига веб-сервера Apache для работы на домене
- Выводы
Подготовка сервера
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/
(Т.к. в предыдущей команде, при создании пользователя для него не была указана существующая группа, то была автоматически создана группа с таким же именем, как имя пользователя. Т.е. в команде выше имя пользователя равно имени группы пользователя)
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
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.
После этого, установка и настройка 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.
Для того, чтобы посмотреть видео, зарегистрируйтесь в личном кабинете
Источник