Установка и настройка веб-сервера для сайта в 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.
А сейчас мы настроим конфиг веб-сервера 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.
Для того, чтобы посмотреть видео, зарегистрируйтесь в личном кабинете
Подготовка сервера
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 )
MnogoBlog
как создать сайт на wordpress, настроить и оптимизировать wordpress
Настраиваем Ubuntu Server (хостинг для сайта на ПК)
Продолжаем создавать хостинг для сайта на старом компе.
Скачать исходники для статьи можно ниже
Минимальные требования на установку Ubuntu Server:
Пригодиться ниже:
1. Чтобы ввести в командную строку предыдущие запросы/команды можно нажать стрелку вверх или вниз и выбрать предыдущий нужный запрос/команду.
2. Чтобы остановить ping нужно нажать Ctrl+C
Чтобы потренироваться можно установить Ubuntu Server на виртуальную машину (VirtualBox).
Почему Ubuntu?
– Используется примерно 20 миллионами пользователей.
– Является 1-м в списке самых популярных дистрибутивов Linux для веб-серверов.
– Ubuntu используется в качестве основной ОС на серверах проекта “Википедия”.
– Новые версии дистрибутива выходят каждые полгода и поддерживаются обновлениями безопасности в течение 9 месяцев.
– Версии LTS, выпускаемые раз в 2 года, поддерживаются в течение 5 лет – как серверные, так и десктопные варианты.
Так как сервера находятся в основном в серверной (для обеспечения звукоизоляции сервера, его кондиционирования и т.д.), то к серверу удобно подключаться удаленно через защищённое соединение – SSH. Для соединения с сервером через SSH часто используют бесплатную программу PuTTY:
Для того, чтобы подключиться через SSH нам нужно узнать ip адрес, для этого воспользуемся командой ifconfig:
Вводим ip в программе PuTTY:
И соединяемся с сервером через SSH принимая ключ безопасности:
А теперь приступаем непосредственно к настройке сервера!
Как только Вы установили сервер, его лучше всего обновить. Для обновления используются следующие команды:
После обновления нужно перезагрузить систему с помощью команды reboot.
А выключить систему можно с помощью команды poweroff.
Как можно перемещаться между папками, смотреть содержимое папок:
Также есть визуальный файловый менеджер, который нужно установить:
, а после можно запустить с помощью команды mc:
Чтобы выйти из Midnight Commander нажимаем F-10:
Приступаем к установке Apache:
После установки Apache2, если открыть браузер и ввести в него ip адрес, то откроется следующая страница:
Узнать ip можно с помощью команды ifconfig:
Согласитесь, что людям трудно набирать ip адреса сайтов, чтобы зайти на них, поэтому придумали DNS сервера – где к ip ардесу сайта привязано доменное имя сайта, например: mnogoblog.ru. Одному ip адресу может соответствовать несколько доменных имен.
В Windows можно открыть файл C:\Windows\System32\drivers\etc\hosts
и прописать в нём следующее:
То есть на своей локальной машине мы сконфигурировали свой DNS сервер.
Теперь в браузере можно вводить не ip адрес, а имя сайта (http://site1):
Теперь выясним в какой папке лежит наш сайт, как нам его менять и как сделать на сервере несколько сайтов.
Рассмотрим следующие команды:
Сайт лежит в следующей папке:
/var/www/html/
Создадим отдельную папку для первого сайта и присвоим права 755 к папке и всем файлам, которые в ней лежат, а также сделаем пользователя admin владельцем данной папки:
Создадим индексный файл в папке сайта:
Сохраняем файл – жмем Ctrl+O и Enter. А затем выходим F-10.
Далее нам нужно добавить и включить виртуальный хост. Для этого залазим в настройки Apache2.
Копируем файл с сохранением прав доступа:
Нажимаем Ctrl+O и Enter, сохраняя изменения. Далее жмем Ctrl+X и выходим из редактора.
ПРИМЕЧАНИЕ: Когда Вы подключите статический ip адрес, то в строчке ServerName прописываем вместо site1 статический ip адрес.
Включаем виртуальный хост:
Создадим php файл на нашем сайте:
Заходим на наш сайт и видим следующее:
Посмотреть версию PHP – команда phpinfo.
Устанавливаем Базы Данных – MariaDB:
Далее запускаем настройку mysql сервера:
Удалить ли анонимных пользователей? Y
Отключить ли возможность пользователя root подключаться удаленно? N
Перезагрузить ли таблицу с привилегиями? Y
Чтобы открыть доступ к БД нужно ввести следующую строчку:
Вводим следующие 2 строчки (как на картинке выше):
После чего должен потребовать пароль от БД, вводим пароль.
Не забываем выйти из под root:
А теперь с помощью данной команды можно подключится к БД:
Попросит ввести пароль от БД, вводим его. Всё мы вошли в БД.
Чтобы выйти из БД пишем следующее (не забываем ставить ; в конце строчки):
Есть удобное программное обеспечение – phpMyAdmin для доступа к БД с графическим интерфейсом, установим его:
В диалоговом окне на вопрос: Для какого веб-сервера мы настраиваем? выбираем apache2 (выбрать с помощью пробела) и нажат Enter.
Следующий вопрос: Настроить БД для phpmyadmin с помощью dbconfig-common? Отвечаем: Да
Далее вводим пароль и подтверджадем пароль для phpMyAdmin.
Возможно вылезет сообщение: При установке базы данных произошла ошибка: Выбираем “Игнорировать”.
Все готово, установка завершена!
Теперь phpMyAdmin открывается по адресу:
Если виден только код, а не страничку входа, то набираем следующие команды:
После этого станица входа в phpmyadmin заработает!
Далее давайте установим wordpress:
Переходим на официальный сайт wordpress:
“ru.wordpress.org/download/”
и копируем адрес ссылки “Скачать .tar.gz”:
Далее с помощью команды wget закачиваем wordpress:
Архив скачается в домашнюю папку.
Вводим команду ls для просмотра папки:
Далее разархивируем архив с помощью команды tar:
С помощью команды ls посмотрим, что у нас получилось:
Сейчас давайте переместим содержимое папки wordpress в папку нашего сайта с помощью команды – mv:
Но сначала удалим из папки сайта ненужные файлы.
Откроем файловый менеджер Midnight Commander и перейдем в папку var/www/site1:
Здесь удалим ранее созданные нами файлы index.html и test.php при помощи клавиши F-8.
Нажимаем F-10, чтобы выйти из Midnight Commander.
Далее перемещаем все содержимое папки wordpress в папку нашего сайта:
Сейчас открываем браузер и обновляем страничку нашего сайта:
Откроется окно установки wordpress.
Теперь нужно создать Базу Данных (БД) и пользователя БД для сайта.
Для этого заходим в phpMyAdmin открывается по адресу:
Переходим в верхнем меню во вкладку “Базы данных”, вводим имя БД “site1” и жмем кнопку “Создать”:
Далее в верхнем меню переходим во вкладку “Привилегии” и жмем на ссылку “Добавить учетную запись пользователя”:
Вводим имя пользователя БД, пароль и ставим галочку в пункте “Глобальные привилегии” (Отметить все):
Всё мы создали БД (в нашем примере: site1) и пользователя БД (в нашем примере: admin с паролем admin).
И жмём кнопку “Вперёд” и вводим имя пользователя и пароль БД:
Откроется следующее окошко с сообщением, что нужно создать файл wp-config.php со следующим содержимым:
Нужно скопировать предлагаемый код.
С помощью команды nano создаем файл wp-config.php и вставляем в него скопированный код:
Сохраняем файл – жмем Ctrl+O и Enter. А затем выходим F-10.
Открываем браузер и жмем “Запустить установку”:
Откроется следующее окошко, где вводим Имя сайта, пользователя, пароль, e-mail:
И жмем “Установить wordpress”.
PS: Подключил статический ip адрес, настроил А запись, сайт работает, но вот следующую настройку не делал:
Где нужно прописать статический адрес – в файле interfaces: