- Локальный веб сервер для линукс
- Как установить локальный сервер на linux
- Оцените статью:
- Статьи
- Комментарии
- Запись экрана
- Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP
- Установка LAMP на Ubuntu
- Что такое LAMP
- Инструкция по установке LAMP
- Как создать несколько сайтов на LAMP
- Установка и настройка локального web-сервера в Ubuntu
- Введение
- Apache
- Виртуальные хосты
- php.ini
- phpMyAdmin
- Библиотеки GD и CURL
- Почтовый сервер
- SSMTP
- Sendmail
- Удаленный доступ к сайтам
- Владельцы и права
Локальный веб сервер для линукс
Как установить локальный сервер на linux
Хаюшки! В данной статье рассмотрена установка и настройка локального веб сервера со связкой apache, php, mysql в операционной системе linux. Погнали!
Если вы веб программист то наверняка знаете такие программы как denver или open server. Они по сути создают на ПК локальный сервер и позволяют гибко им управлять. В linux к сожалению подобных программ нет и здесь требуется немного другой подход к развертыванию локального сервера.
Для начала вам необходимо скачать пакеты XAMPP для linux.
По итогу скачается подобный файл xampp-linux-x64-7.2.29-1-installer.run который нужно сделать исполняемым и запустить! Открываем консоль в папке с данным файлом. И выполняем команду:
Данная команда сделаем файл исполняемым. И затем запустим под root правами.
Далее откроются окна установки пройдя которые по данному пути ‘/opt/lampp’ будут установлены все файлы локального сервера.
Для проверки можно запустить локальный сервер выполнив в консоли команду:
и затем открыть в браузере следующий адрес ‘http://localhost/’. Перейдя по такому адресу ‘http://localhost/phpmyadmin/’ откроется панель phpmyadmin для работы с базами данных Mysql.
Чтобы остановить локальный сервер достаточно выполнить команду.
Для перезапуска используется команда restart.
Данная команда сначала останавливает локальный сервер а затем запускает.
Идем далее. Рассмотрим как разместить сайт на нашем локальном сервере.
Переходим в папку ‘htdocs’, она находится по такому пути ‘/opt/lampp/htdocs’. В данной директории размещаются локальные хосты сервера. Если вы работали с open server то эта альтернатива папке ‘domains’.
Если директория htdocs не пустая, то все от туда удаляем и создаем новую папку ‘newdomain’ это будет наш локальный домен сайта. В папке создадим файл index.php в который просто пропишем.
Данный код выведет в консоль информацию о конфигурациях php.
Затем необходимо добавить наш новый домен (newdomain) в конфигурации сервера. Находим и открываем файл хостов ‘hosts’ (/etc/hosts).
Для начала можно все из него удалить и прописать такую вот строку.
127.0.0.1 localhost lampp xampp — это строка стандартная и постоянная, после нее идет перечисление хостов(доменов) которые мы хотим добавить. В нашем случае домен один это newdomain. Если доменов несколько то просто перечисляем их через пробел, пример.
С этим разобрались! Сохраняем изменения в файле hosts и переходим к файлу httpd-vhosts.conf (/opt/lampp/etc/extra/httpd-vhosts.conf).
В нем также все удаляем и прописываем следующее.
Здесь нас интересуют строки:
DocumentRoot ‘/opt/lampp/htdocs/newdomain/’ — указывается путь к файлам нашего сайта на хосте ‘newdomain’.
ServerName newdomain — указывается домен ‘newdomain’
ServerAlias www.newdomain — указывается поддомен www ‘newdomain’
Остальные строки можно всегда оставлять как есть. Еще обратите внимание ‘127.0.0.1:80’ что мы подключаемся по 80 порту http.
Сохранив изменения можно запускать локальный сервер.
После запуска, в адресной строке браузера вводим адрес нашего локального хоста ‘http://newdomain’ и вуаля. Сайт запущен!
Результатом будет вывод на странице конфигураций php.
Это конечно все хорошо но что если мы к примеру хотим запустить сайт под https? Рассмотрим как это можно сделать!
Для закрепления материала создадим еще один сайт.
В папке htdocs создаем директорию ‘site’ в ней файл index.php
Обновляем файл ‘hosts’
Обновляем файл ‘httpd-vhosts.conf’
Обратите внимание что для хоста ‘site’ мы прописали две конфигурации для http ‘127.0.0.1:80’ и https ‘127.0.0.1:443’.
После сохранения изменений перезапускаем сервер.
И пробуем перейти на сайт ‘https://site/’ при первом переходе у вас может вылезти предупреждение о небезопасности соединения, игнорируем его и переходим.
В результате сайт будет работать под https. В некоторых браузерах в частности google chrome рядом с адресной строкой может отображаться что соединение не защищено.
На это можно не обращать особого внимания так как основные технологии которые работают только под https будут работать и этого вполне достаточно для тестирования.
Вот все что я вам хотел рассказать про работу с локальным сервером (apache + php + mysql) в linux. В принципе этих знаний уже достаточно для работы веб программисту.
Напоследок хочу дать небольшой бонус по автоматизированному запуску сайтов на локальном сервере. Согласитесь что так добавлять новые сайты на локальный сервер не очень удобно, необходимо как минимум внести изменения в два файла hosts и httpd-vhosts.conf. В качестве решения этой проблемы мной был разработан скрипт на Python для автоматического запуска.
Файл web-server.py и его содержимое:
Кто разбирается в Python для тех не составит особого труда разобраться что делает данный код. При запуске данного файла перебираются все папки в директории htdocs при этом данные в ‘hosts’ и ‘httpd-vhosts.conf’ обновляются, локальный сервер перезапускается.
Для большего удобства файл можно сделать исполняемым.
и разместить в ‘/usr/bin’. В результате этих действий вы сможете запускать и перезапускать локальный сервер простой командой в консоли.
В результате вам больше не придется лазать в файлы ‘hosts’ и ‘httpd-vhosts.conf’. И заметьте что каждый сайт на локальном хосте будет доступен под http и https.
На этом у меня все. Надеюсь данная статья оказалась для вас интересной и полезной! Не забывайте подписываться в группу Вконтакте и переходите на мой канал Youtube.
Желаю вам успехов и удачи! Пока.
Оцените статью:
Статьи
Комментарии
Внимание. Все комментарии проходят модерацию перед публикацией!
В данном разделе пока нет комментариев!
Запись экрана
Данное расширение позволяет записывать экран и выводит видео в формате webm
Источник
Локальный веб-сервер под 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 и пользоваться
Источник
Установка LAMP на Ubuntu
Всем привет! В одной из прошлых статей я рассказал об инструменте Denwer, который позволяет быстро развернуть на своем компьютере локальный сервер. К сожалению, Denwer работает только на операционной системе (ОС) Windows. Что делать, если Вы используете ОС Linux? В этом случае стоит воспользоваться похожим инструментом под названием LAMP. В этой статье я подробно рассмотрю установку LAMP на Ubuntu, пожалуй самый популярный на сегодняшний день дистрибутив Linux.
Что такое LAMP
LAMP — это аббревиатура, первые буквы слов L inux + A pache + M ySQL + P HP:
- Linux — операционная система;
- Apache — веб-сервер;
- MySQL — система управления базами данных (СУБД);
- PHP — скриптовый язык программирования, используемый для создания серверной части сайтов.
Фактически, это все что нужно для локального хостинга. Единственное чего не хватает, так это phpMyAdmin, которая упрощает работу с базами данных MySQL. PhpMyAdmin устанавливается отдельно, и о ней я расскажу в одной из следующих статей.
Инструкция по установке LAMP
Откройте терминал и введите команду:
После ввода пароля администратора, пройдет проверка, какие пакету уже есть в операционной системе, а какие следует установить.
Появится вопрос: «Хотитие продолжить?». Вводите букву д и жмите Enter.
Начнется процесс инсталляции.
От вас потребуется только дважды ввести пароль администратора MySQL, остальное будет сделано автоматически.
Как только установка LAMP на Ubuntu будет закончена, откройте браузер и введите адрес локального сервера: http://localhost. Должна появится тестовая страница с надписью «It works!».
Если для запуска, остановки и перезагрузки Denwer’а используются три ярлыка на рабочем столе, то в LAMP для этих целей используются команды:
Корневым каталогом локального сайта будет директория /var/www. По умолчанию добавлять или изменять в ней файлы может только администратор. При желании это можно изменить, задав для этой директории права доступа 777 такой командой:
После этого любой пользователь может делать с этой папкой и файлами в ней все что угодно.
Проверим работоспособность PHP. Для этого скачайте файл test.php (распакуйте архив) и скопируйте его в каталог /var/www. Введите в браузере следующий URL адрес: http://localhost/www/test.php/. Должна появится страница с подробной информацией об используемой версии PHP.
Как создать несколько сайтов на LAMP
На практике гораздо удобнее создавать папки с файлами локальных сайтов у себя в домашней директории, но в этом случае для каждого нового хоста придется выполнить следующий порядок действий:
1. В домашней директории /home/USERNAME создаем папку www. В ней создаем подкаталог с именем нашего будущего сайта. К примеру, mysite. Именно в этот подкаталог впоследствии и нужно будет загружать файлы сайта. Если хотите поднять второй хост, создавайте для него отельную папку в директории /home/USERNAME/www и повторите все действия, описанные ниже.
2. Открываем терминал и переходим в директорию /etc/apache2/sites-available:
В данной папке содержатся конфигурационные файлы виртуальных хостов.
3. Создаем файл с именем будущего сайта:
Данный файл сразу откроется на редактирование. Прописываем в нем строчки:
Где в строке DocumentRoot задаем путь до созданной в первом пункте папке. Только не забудьте заменить USERNAME на свое имя пользователя.
4. Вносим в список хостов наш будущий сайт. Открываем на редактирование файл:
и добавляем строчку:
Если этот IP уже занят, введите следующий — 127.0.0.2.
5. Активируем новый хост с помощью утилиты a2ensite:
6. Остается только перезапустить сервер apache:
Теперь новый сайт будет доступен по адресу http://mysite .
На этом на сегодня все, спасибо за внимание! Берегите себя!
Лучший способ выразить благодарность автору — поделиться с друзьями!
Узнавайте о появлении нового материала первым! Подпишитесь на обновления по email:
Источник
Установка и настройка локального web-сервера в Ubuntu
Актуально для Ubuntu 16.04, Ubuntu 14.04; Mint 18, Mint 17, а также других производных от Debian
Для создания новых сайтов или тестирования изменений на существующих часто бывает нужен локальный сервер. Во-первых, новый сайт лучше выкладывать уже в готовом виде, дабы не смущать потенциальных посетителей пустыми страницами, недописанными материалами да полуработающими фичами. Во-вторых, новые фичи для существующих сайтов тоже лучше тестировать не на живом сайте, а на его клоне. Ну и в третьих, это позволит работать над сайтом даже при временном отсутствии доступа к интернету. Например, у меня тестовый сервер стоит на нетбуке, поэтому я могу спокойно поработать и где-нибудь в дороге безо всякого интернета.
Поскольку с Windows отношения у меня не сложились, ни о каких Денверах, WAMP и прочих наборах для этой ОС речи у нас здесь идти не будет. Наш тестовый сервер ставится на Ubuntu 16.04 (или на Linux Mint 18, что, в сущности, одно и то же). В более ранних версиях возможны некоторые отличия. Постараюсь их оговаривать (то, что вспомню).
Введение
Итак, определимся, что нам нужно. Ну для начала (на всякий случай, для новичков) расшифруем аббревиатуру LAMP — Linux, Apache, MySQL, PHP. Предполагается, что Linux у нас уже есть (Если нет, то ставим, не боимся. Ubuntu или Mint, например, ставится сейчас едва ли не проще, чем Винда.). Что нужно установить.
- Apache — собственно, сам web-сервер.
- MySQL — система управления базами данных (СУБД).
- PHP — язык программирования.
Если вы не являетесь гуру MySQL, и не собираетесь управлять базами в консоли, вводя команды ручками, то следующим пунктом будет
- phpMyAdmin — графический интерфейс управления СУБД MySQL
Также нужно подумать и об отправке почты с сайта — это тоже частенько приходится тестировать.
- Sendmail — почтовый сервер
Также с большой вероятностью могут понадобится некоторые библиотеки PHP. В частности, у меня установлены
- GD — библиотека для работы с изображениями
- CURL — библиотека для работы с URL
Также стоит озаботиться удаленным доступом к нашему серверу. Зачем? Ну, как я уже упоминал, сервер у меня на нетбуке. А работать мне все же удобнее за компьютером с нормальной клавиатурой и большим монитором. Поэтому непосредственно за нетбуком я работаю только в дороге. А у вас может быть наоборот, сервер на рабочем компьютере (или вообще выделенный где-нибудь в кладовке), а вам хочется развалиться с планшетом на диване. Или хочется получать доступ к своему домашнему серверу из любой точки земного шара (правда для этого нужен реальный внешний IP-адрес вашей квартирной сети). В общем, удобная штука. Впрочем, если все это вам не нужно, то следующий пункт опускаем.
- SSH-сервер — позволяет работать с удаленным компьютером, как с родным
Ну и наконец, еще один необязательный, но очень полезный пункт. Система контроля версий (СКВ). Если у вас что-то перестало работать, а изменения перед этим были значительными, то откатить их может быть достаточно тяжело. СКВ позволяет вести учет всех изменений и откатиться в любое из предыдущих состояний одной командой. Существеут множество СКВ, но для локального использования (без доступа к интернету) лучше всего подойдет Git — детище Линуса Торвальдса.
- Git — система контроля версий
С необходимыми компонентами web-сервера определились, приступаем к установке и настройке
Первые три пункта вполне можно установить одной командой в терминале
Символ ^ в конце не случаен, это часть команды. У нас требуют пароль администратора, вводим.
Первая оговорка: эта команда действует, кажется, начиная с Ubuntu 13.04. В более ранних версиях все компоненты устанавливать придется отдельно. Впрочем, сделать это тоже можно одной командой
Вторая оговорка: в 16.04 можно писать apt install вместо apt-get install. Но для совместимости я здесь буду использовать старую запись.
По ходу установки необходимо ответить на два вопроса. Сначала будет перечень устанавливаемых пакетов и вопрос, хотим ли мы продолжить установку. Жмем Enter. Затем нас попросят ввести пароль рута для MySQL. Вводим, подтверждаем. Дожидаемся конца установки.
Теперь настроим и протестируем все компоненты.
Apache
Открываем браузер и вводим в адресной строке
После перехода по этому адресу видим приветственную страницу.
Это означает, что сервер работает. В ранних версиях, кстати, эта страница выглядела значительно проще — просто две строчки текста с заголовком «It works!» на белом фоне. Собственно, в нативном Апаче (не убунтовском) она, по-моему, и сейчас так выглядит.
Теперь выполним кое-какие настройки. Для этого откроем конфигурационный файл Apache /etc/apache2/apache2.conf. Причем сделать это надо из-под рута, т.е. с правами администратора. Можно эту операцию провернуть и в графической оболочке, но их сейчас расплодилось столько, что рассказывать, как это сделать в каждой из них, придется долго. Поэтому, если знаете как — делайте. Если нет, то здесь я опишу, пожалуй, самый простой способ — консольным текстовым редактором nano.
Не забываем. что после ввода команды, начинающейся с sudo, нужно ввести пароль администратора. Больше напоминать не буду.
Здесь ищем теги (это легко сделать встроенным в nano поиском; вызывается он комбинацией клавиш, или, как говорят, хоткеем Ctrl+w) и под последним из них дописываем
Здесь мы побежали немного впереди паровоза, но раз уж нам пришлось открыть этот файл, то все изменения сразу и внесем. Яснее станет позже, пока объясню вкратце. Мы прописали опции общей директории (папки) для всех наших сайтов, а именно: разрешили использовать для нее файл .htaccess (для ЧПУ, например; но не только) и предоставили права доступа (через веб-сервер) для всех.
Дальше хоткеем Alt+/ идем в конец файла и дописываем здесь
Сохраняем хоткеем Ctrl+o, подтверждаем энтером и выходим из nano (Ctrl+x).
Поскольку в подавляющем большинстве (если не у всех) у наших сайтов дефолтной страницей будет index.php, а не index.html, то открываем следующий файл.
И здесь index.php помещаем в начало строки DirectoryIndex, перед index.html. Должно получиться так.
Сохраняем и закрываем.
Виртуальные хосты
Теперь настроим виртуальные хосты. Зачем? Ну, в общем-то, можно обойтись и без этого. Все сайты хранить в отдельных папках в /var/www/html и заходить на них по адресам вида localhost/sitename (где sitename — имя папки с сайтом). Но тут есть нюанс. Если мы работаем с клоном уже существующего сайта, где прописаны URL вида «/file.html», т.е. со слешем в начале (а такие урлы встречаются довольно часто), то при переходе по такому урлу попадем в localhost/file.html (т.е. в никуда, поскольку такого пути у нас нет) вместо localhost/sitename/file.html. Ведь корневая папка у сервера прописана одна — /var/www/html. И она будет корневой для всех сайтов. Т.е. нам нужно, чтобы корневой папкой каждого сайта была именно его папка. И для каждого нашего сайта нужно будет прописать виртуальный хост.
Предположим, что у нас есть тестовый сайт. И расположен он не в /var/www/html, а в /home/user/public_html/testsite (где user — ваше имя пользователя в Linux). Почему там? В случае переустановки системы (ну мало ли что. ) не придется заново заливать все сайты (я ж надеюсь /home у вас на отдельном разделе?). Да и с правами меньше мороки.
Сайт этот у нас состоит всего из одного файла index.html, содержащего следующее
Здесь в первую строку добавим имя нашего сайта.
Сохраняем и закрываем (напомню, Ctrl+o и Ctrl+x соответственно).
Теперь выполняем в терминале
Таким образом мы создали кофигурационный файл сайта testsite, скопировав конфигурационный файл дефолтного сайта. Теперь откроем этот файл и настроим его под наш сайт.
Здесь раскомментируем (т.е. уберем #) строчку
И пропишем имя нашего сайта. Должно получиться:
Далее исправим DocumentRoot, прописав вместо /var/www/html /home/user/public_html/testsite (не забываем вместо user поставить реальное имя пользователя).
Сохраняем и закрываем. Теперь включаем наш сайт.
В терминале нам любезно подсказывают, что активировать новую конфигурацию мы можем, перезагрузив настроки Апача.
В адресной строке браузера пишем
И видим нашу тестовую страничку. Если не видим — тщательно проверяем правильность своих предыдущих действий.
Ну и в дальнейшем будем работать уже с этим тестовым сайтом, а не с дефолтным.
В большинстве случаев нам придется работать с ЧПУ-ссылками. Поэтому необходимо подключить модуль Апача mod_rewrite.
Теперь проверим. Создадим в корне нашего сайта (папке testsite) файл .htaccess и запишем сюда следующее
Это означает, что запросы на testsite/test будем перенаправлять на страницу sef.html.
Теперь создаем этот самый файл sef.html с содержимым, аналогичным index.html, кроме заголовка и текста:
Идем на http://testsite/test. Если видим нашу новосозданную страницу, значит порядок.
Теперь проверим PHP. Для этого в папке /home/user/public_html/testsite создадим текстовый файлик со следующим содержимым:
Сохраняем этот файлик под именем, например, info.php. Если мы теперь перейдем по адресу http://testsite/info.php, то увидим полную информацию об установленном в системе PHP.
Если увидели — PHP работает.
Если сервер локальный, и доступа извне к нему нет, то файлик этот можно оставить, он, возможно, еще пригодится. Но ни в коем случае не делайте этого на общедоступном сервере, здесь этот файл должен быть удален незамедлительно после проверки!
php.ini
Ну а теперь поковыряемся в конфигурационном файле PHP, находящемся по адресу /etc/php5/apache2/php.ini. Да не просто поковыряемся, а и кое-что поменяем.
Или, в Ubuntu 14.04
Короткая форма записи
Это значит, что по умолчанию запрещено использовать короткую форму записи тегов, т.е. Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.20-0ubuntu0.16.04.1 (Ubuntu)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
Все OK. MySQL работает. Вводим quit для выхода.
Можно еще одним махом проверить работу связки MySQL и PHP. Для этого создадим файл db-test.php (все там же, в корне нашего сайта — /home/user/public_html/testsite) и запишем туда следующее.
Перейдем по адресу http://testsite/db-test.php. Если видим текст «OK. Localhost via UNIX socket», то все хорошо.
phpMyAdmin
Поехали дальше. Теперь очередь phpMyAdmin. В терминале вводим
После получения списка пакетов нажимаем Enter на вопрос, хотим ли мы продолжить. В ходе установки нас спрашивают, какой сервер будем настраивать. Поскольку у нас Apache, то и выбираем, естественно, его же. Для этого нажимаем пробел, убедившись, что красный курсор установлен в квадратных скобках напротив строчки apache2. И убеждаемся, что там же, в скобках, появилась звездочка.
Нажимаем Enter. Через некоторое время появится еще одно окно с предложением установить и настроить базу данных. У нас уже выбрано «Да», жмем Enter. Вводим пароль административного пользователя базы данных (тот самый, который вводили при установке MySQL), жмем Enter, задаем пароль для регистрации phpmyadmin в базе, подтверждаем. Дожидаемся конца установки.
Для PHP 5 (т.е. по умолчанию в Ubuntu 14.04) включаем Mcrypt
Здесь допишем в конец файла (хоткеем Alt + /)
Здесь главное, чтоб это число было не больше session.gc_maxlifetime из php.ini, иначе оно не будет иметь смысла.
И идем в браузер.
Видим окно входа в phpMyAdmin
Вводим имя пользователя root и пароль, введенный нами при установке MySQL. Входим в phpMyAdmin.
Библиотеки GD и CURL
В Ubuntu 16.04 GD уже установлена, поэтому здесь доустановим лишь CURL.
В Ubuntu 14.04 установить придется обе
В принципе, описанное здесь характерно для любого расширения php — главное знать его название, и подставить спереди php (в PHP7) либо php5 (в PHP5) с дефисом.
Почтовый сервер
SSMTP
Теперь почтовик. В принципе, можно обойтись SSMTP — это легкая утилита, отправляющая письма через сторонний SMTP-сервер, например Gmail. Но в этом случае о тестировании почты оффлайн придется забыть. Если тестирование оффлайн не актуально, то ставим и настраиваем:
И здесь меняем значения на следующие (для Gmail-сервера).
Здесь youraccount@gmail.com — ваш существующий адрес на Gmail; password — пароль вашего аккаунта на Gmail. Если не хотите Gmail, то для других сервисов настройки принципиально отличаться не будут.
Далее. В /etc/php/7.0/apache2/php.ini (или, в 14.04, /etc/php5/apache2/php.ini) находим строку ;sendmail_path =, раскомментируем ее (т.е. уберем 😉 и пропишем путь к ssmtp. Должно получиться
А теперь проверим. Создадим файл index.php в testsite, откроем его и пропишем туда следующее
Здесь опять же testaccount@gmail.com — ваш существующий адрес, к которому у вас есть доступ (здесь — какой угодно, не обязательно Gmail).
Теперь перейдем по http://testsite. Отобразиться у нас должна пустая страница. Теперь проверяем testaccount@gmail.com — туда должно прийти наше тестовое письмо.
Sendmail
Если же необходимо тестировать отправку почты оффлайн, ставим Sendmail.
На всякий случай. Речь не идет об одновременном использовании SSMTP и Sendmail — устанавливаем либо то, либо другое!
По окончанию установки запускаем
На все три вопроса, задаваемых в ходе установки, отвечаем утвердительно, т.е. жмем Enter.
Если в /etc/php/7.0/apache2/php.ini (или, в 14.04 /etc/php5/apache2/php.ini) прописывали sendmail_path (для SSMTP, например), то просто закомментируйте ее (т.е. поставьте в начале строки ;), потому что по умолчанию используется как раз sendmail.
И здесь в строчку с 127.0.0.1 дописываем через пробел
Здесь testserver — имя нашего сервера. Оно уже прописано строчкой ниже для 127.0.1.1. Сохраняем, закрываем и перезапускаем сервер.
Trying 127.0.0.1.
Connected to localhost.
Escape character is ‘^]’.
220 localhost.loc ESMTP Sendmail 8.14.4/8.14.4/Debian-4.1ubuntu1; Sat, 26 Jul 2014 21:46:56 +0300; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
Начинаем тестирование. Вводим
250 localhost.loc Hello localhost [127.0.0.1], pleased to meet you
Далее чередуются команды и ответы
250 2.1.0 no-reply@gmail.com. Sender ok
Здесь user — ваше имя пользователя в Linux.
250 2.1.5 user@localhost. Recipient ok
354 Enter mail, end with «.» on a line by itself
Теперь мы вводим текст тестового письма. Закончить его обязательно точкой.
Жмем Enter и получаем ответ.
250 2.0.0 s6QItc6L010145 Message accepted for delivery
Прекрасно. А теперь настроим почтовый клиент, чтобы иметь возможность видеть отправленные с сайта и полученные в user@localhost письма. Я пользуюсь Thunderbird, поэтому настраивать будем его. Идем в Создать — Другие учетные записи. Выбираем тип учетной записи Unix Mailspool (Movemail), жмем Далее. Выводимое имя абсолютно без разницы, мы сюда письма только получать будем, а Адрес электронной почты прописываем user@localhost (вновь, user — это ваше имя пользователя в Ubuntu). Жмем Далее, затем еще раз Далее, и еще раз Далее, и, наконец, Готово. Если все сделали правильно — во входящих видим наше только что отправленное при тестировании письмо.
Можем протестировать через PHP, аналогично тому, как мы делали это с SSMTP, только в index.php исправим адрес получателя на user@localhost.
Теперь в настройках сайта будем прописывать адрес получателя писем с сайта user@localhost.loc. Почему не user@localhost? Потому что в большинстве случаев такой адрес не пройдет валидацию. И не устаю напоминать: user заменяем на ваше имя пользователя в Ubuntu.
Осталось установить SSH-сервер. Как уже говорилось, это нужно лишь в том случае, если необходимо управлять сервером удаленно.
Открыли конфигурационный файл. Здесь я бы рекомендовал поменять порт, на котором ssh-сервер будет ожидать подключения. Находим строку
и меняем на любой из диапазона от 1025 до 65536, . Главное — не забыть его потом. В нашем примере пропишем
и будем его использовать в дальнейших примерах.
Дальше находим строку
и меняем значение yes на no.
Можно вообще запретить входить по SSH всем, кроме одного пользователя — вас. Для этого добавляем следующую строку (здесь, как всегда, user нужно заменить на ваше имя пользователя).
А теперь пробуем подключиться с удаленного устройства. Предположим, что IP-адрес сервера — 192.168.1.2. Вводим (заменив user на свое имя пользователя на сервере)
Вводим свой пароль на сервере и наслаждаемся. Чтобы отключиться, вводим exit.
Примечание. Если вы уже подключались к серверу с какого-либо устройства, но переустановили ОС на сервере, то после этого подключиться уже не получится. В этом случае удалите файл /home/user/.ssh/known_hosts на клиенте, подключитесь вновь и ответьте yes на вопрос Are you sure you want to continue connecting? (действительно ли вы хотите подключиться?). Все, можно работать.
Для заливки файлов на сервер удаленно также можно воспользоваться SSH, а не традиционным FTP. Можно это делать и в консоли. Но можно и проще. Показываю на примере файлового менеджера Dolphin в KDE.
В левой панели (Точки входа) жмем Сеть, здесь Добавить сетевую папку. Выбираем Папка SSH, жмем Далее и заполняем поля:
Имя — пишем что угодно, лишь бы понимать, куда мы подключаемся. Ну например, LocalServer.
Пользователь — имя пользователя на сервере.
Сервер — IP-адрес (или имя, если прописано в /etc/hosts) сервера.
Порт — мы меняли на 1111, его здесь и прописываем. Если не меняли — оставляем 22.
Протокол — выбираем fish.
Папка — для удобства пропишем корневую папку нашего web-сервера, т.е. /home/user/public_html. Теперь при подключении будем сразу попадать туда. Если оставить поле пустым — будет открываться корень Ubuntu, т.е. /.
Теперь жмем Сохранить и подключиться. И можем гонять файлы туда-сюда, как на родном компьютере.
В дальнейшем чтобы подключиться жмем Сеть и в открывшемся окне папку с земным шариком поверх с именем LocalServer.
Здесь User Name — ваше реальное имя, а username@gmail.com — ваша существующая почта. В общем-то, это все. Об использовании Git в ближайшем будущем надеюсь написать отдельную статью.
Удаленный доступ к сайтам
Осталось понять, как зайти браузером с удаленного компьютера (в локальной сети) на наш сервер. Возьмем мою ситуацию. Напомню, сервер — на нетбуке, а работаю я на стационарном компьютере. Так вот, на компьютере открываем /etc/hosts и в новой строке прописываем
Здесь 192.168.1.2 — IP-адрес нашего сервера, testsite — имя тестового сайта (их может быть много через пробел). Теперь, набрав в адресной строке http://testsite, мы попадем именно на testsite на нашем сервере.
Владельцы и права
Ну и напоследок, еще три команды.
Здесь user — ваше имя пользователя в Ubuntu. Мы добавили себя в группу www-data (поскольку от пользователя www-data группы www-data работает Apache), сделали группу www-data группой владельца корневой папки наших сайтов и присвоили для этой папки права чтения и записи для владельца и его группы. Это нужно для того, чтобы пользователи user (от имени которого мы заливаем файлы на сервер) и пользователя www-data (от имени которого работает веб-сервер) имели одинаковые права. При добавлении каждого сайта над его папкой нужно будет производить эту процедуру (кроме первой команды; только не ко всей public_html, а лишь к папке нового сайта). Также нужно это делать для новых файлов, требующих изменения со стороны сервера.
Источник