Linux поднять локальный сервер

Linux для веб разработки. Устанавливаем локальный сервер

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

Нам нужно для работы Apache, PHP, MySQL, phpMyAdmin

Устанавливать будем через консоль. В качестве локального серевера поставим Lamp, он уже содержит все что нам нужно

sudo apt-get install lamp-server^ phpmyadmin

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

В конце установки надо настроить базу данных

Задаем пароль пользователя. Переключаемся на ok кнопкой Tab, потом подтверждаем пароль. Все, установка закончена.

По адресу http://localhost мы должны увидеть стартовую страницу.

Если все нужно удалить, то :

Наш локальный сайт лежит по адресу /var/www/html для доступа туда нужны root права, то есть или вы копируете туда файлы, предварительно запустив файловый менеджер с правами root, или делаем себя пользователем этой папки :

sudo chown -R $USER:$USER /var/www/html

А так же меняем все права:

Для доступа к phpmyadmin используйте http://localhost/phpmyadmin/

Если не запустилось, вводим команды :

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-enabled/

sudo systemctl restart apache2

Пользователь для входа phpmyadmin, а пароль вы установили при инсталляции сервера. Что бы создать новую, и нам нужен пользователь с повышенными привилегиями, делаем команду:

sudo cat /etc/mysql/debian.cnf

В принципе все настройки вы можете посмотреть :

sudo -H gedit /etc/dbconfig-common/phpmyadmin.conf

Управление сервером осуществляется следующими командами:

sudo /etc/init.d/apache2 start

sudo /etc/init.d/apache2 stop

sudo /etc/init.d/apache2 restart

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

Настройка индексных файлов:

sudo gedit /etc/apache2/mods-enabled/dir.conf

Источник

Linux поднять локальный сервер

webfanat вконтакте webfanat youtube

Как установить локальный сервер на linux

Как установить локальный сервер на linux

Хаюшки! В данной статье рассмотрена установка и настройка локального веб сервера со связкой apache, php, mysql в операционной системе linux. Погнали!

Если вы веб программист то наверняка знаете такие программы как denver или open server. Они по сути создают на ПК локальный сервер и позволяют гибко им управлять. В linux к сожалению подобных программ нет и здесь требуется немного другой подход к развертыванию локального сервера.

Читайте также:  Панель управления рутокен astra linux

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

По итогу скачается подобный файл xampp-linux-x64-7.2.29-1-installer.run который нужно сделать исполняемым и запустить! Открываем консоль в папке с данным файлом. И выполняем команду:

sudo chmod +x xampp-linux-x64-7.2.29-1-installer.run

Данная команда сделаем файл исполняемым. И затем запустим под root правами.

sudo ./xampp-linux-x64-7.2.29-1-installer.run

Далее откроются окна установки пройдя которые по данному пути ‘/opt/lampp’ будут установлены все файлы локального сервера.

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

и затем открыть в браузере следующий адрес ‘http://localhost/’. Перейдя по такому адресу ‘http://localhost/phpmyadmin/’ откроется панель phpmyadmin для работы с базами данных Mysql.

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

Для перезапуска используется команда restart.

sudo /opt/lampp/lampp 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

127.0.0.1 localhost lampp xampp — это строка стандартная и постоянная, после нее идет перечисление хостов(доменов) которые мы хотим добавить. В нашем случае домен один это newdomain. Если доменов несколько то просто перечисляем их через пробел, пример.

127.0.0.1 localhost lampp xampp newdomain domain2 domain3 domain4

С этим разобрались! Сохраняем изменения в файле hosts и переходим к файлу httpd-vhosts.conf (/opt/lampp/etc/extra/httpd-vhosts.conf).

Читайте также:  Google chrome linux stable version

В нем также все удаляем и прописываем следующее.

 ServerAdmin admin@mysite1.dev DocumentRoot '/opt/lampp/htdocs/newdomain/' ServerName newdomain ServerAlias www.newdomain ErrorLog '/opt/lampp/logs/mysite1.dev-error_log' CustomLog 'logs/mysite1.dev-access_log' common AllowOverride All Require all granted 

Здесь нас интересуют строки:

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

127.0.0.1 localhost lampp xampp newdomain site

Обновляем файл ‘httpd-vhosts.conf’

 ServerAdmin admin@newdomain.dev DocumentRoot '/opt/lampp/htdocs/newdomain/' ServerName newdomain ServerAlias www.newdomain ErrorLog '/opt/lampp/logs/mysite1.dev-error_log' CustomLog 'logs/mysite1.dev-access_log' common AllowOverride All Require all granted  ServerAdmin admin@newdomain.dev DocumentRoot '/opt/lampp/htdocs/site/' ServerName site ServerAlias www.site ErrorLog '/opt/lampp/logs/mysite1.dev-error_log' CustomLog 'logs/mysite1.dev-access_log' common AllowOverride All Require all granted  DocumentRoot "/opt/lampp/htdocs/site/" ServerName site:443 ServerAdmin you@example.com ErrorLog "/opt/lampp/logs/error_log" TransferLog "/opt/lampp/logs/access_log" SSLEngine on SSLCertificateFile "/opt/lampp/etc/ssl.crt/server.crt" SSLCertificateKeyFile "/opt/lampp/etc/ssl.key/server.key" SSLOptions +StdEnvVars SSLOptions +StdEnvVars 

Обратите внимание что для хоста ‘site’ мы прописали две конфигурации для http ‘127.0.0.1:80’ и https ‘127.0.0.1:443’.

После сохранения изменений перезапускаем сервер.

sudo /opt/lampp/lampp restart

И пробуем перейти на сайт ‘https://site/’ при первом переходе у вас может вылезти предупреждение о небезопасности соединения, игнорируем его и переходим.

В результате сайт будет работать под https. В некоторых браузерах в частности google chrome рядом с адресной строкой может отображаться что соединение не защищено.

На это можно не обращать особого внимания так как основные технологии которые работают только под https будут работать и этого вполне достаточно для тестирования.

Читайте также:  Double commander linux mint

Вот все что я вам хотел рассказать про работу с локальным сервером (apache + php + mysql) в linux. В принципе этих знаний уже достаточно для работы веб программисту.

Напоследок хочу дать небольшой бонус по автоматизированному запуску сайтов на локальном сервере. Согласитесь что так добавлять новые сайты на локальный сервер не очень удобно, необходимо как минимум внести изменения в два файла hosts и httpd-vhosts.conf. В качестве решения этой проблемы мной был разработан скрипт на Python для автоматического запуска.

Файл web-server.py и его содержимое:

#!/usr/bin/env python3 import os import subprocess host = open('/etc/hosts', 'w') vhost = open('/opt/lampp/etc/extra/httpd-vhosts.conf', 'w') text_hosts="127.0.0.1 localhost lampp xampp " text_vhosts="" os.chdir('/opt/lampp/htdocs/') for folder in os.listdir('.'): subprocess.call('chmod 777 '+folder, shell=True) text_hosts = text_hosts+" "+folder text_vhosts = text_vhosts+"\r\n\r\nServerAdmin admin@mysite1.dev\r\nDocumentRoot '/opt/lampp/htdocs/"+folder+"/'\r\nServerName "+folder+"\r\nServerAlias www."+folder+"\r\nErrorLog '/opt/lampp/logs/mysite1.dev-error_log'\r\nCustomLog 'logs/mysite1.dev-access_log' common\r\n\r\nAllowOverride All\r\nRequire all granted\r\n\r\n\r\n\r\n\r\nDocumentRoot '/opt/lampp/htdocs/"+folder+"/'\r\nServerName "+folder+":443\r\nServerAdmin you@example.com\r\nErrorLog '/opt/lampp/logs/error_log'\r\nTransferLog '/opt/lampp/logs/access_log'\r\nSSLEngine on\r\nSSLCertificateFile '/opt/lampp/etc/ssl.crt/server.crt'\r\nSSLCertificateKeyFile '/opt/lampp/etc/ssl.key/server.key'\r\n\r\n SSLOptions +StdEnvVars\r\n\r\n\r\nSSLOptions +StdEnvVars\r\n\r\n\r\n\r\n" host.write(text_hosts) vhost.write(text_vhosts) host.close() vhost.close() subprocess.call('sudo /opt/lampp/lampp restart', shell=True)

Кто разбирается в Python для тех не составит особого труда разобраться что делает данный код. При запуске данного файла перебираются все папки в директории htdocs при этом данные в ‘hosts’ и ‘httpd-vhosts.conf’ обновляются, локальный сервер перезапускается.

Для большего удобства файл можно сделать исполняемым.

и разместить в ‘/usr/bin’. В результате этих действий вы сможете запускать и перезапускать локальный сервер простой командой в консоли.

В результате вам больше не придется лазать в файлы ‘hosts’ и ‘httpd-vhosts.conf’. И заметьте что каждый сайт на локальном хосте будет доступен под http и https.

На этом у меня все. Надеюсь данная статья оказалась для вас интересной и полезной! Не забывайте подписываться в группу Вконтакте и переходите на мой канал Youtube.

Желаю вам успехов и удачи! Пока.

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

Статьи

Комментарии

Внимание. Все комментарии проходят модерацию перед публикацией!

В данном разделе пока нет комментариев!

Реклама

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm

Добавить приложение на рабочий стол

Источник

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