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

Руководитель проектов Дмитрий Мирошниченко специально для «Нетологии» составил список консольных команд, которые пригодятся начинающему веб-разработчику.

Создаём репозиторий в cPanel

Зайдите в cPanel и нажмите ярлык «Git™ Version Control» в разделе «Файлы»:

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

В новом окне заполните поля данными, которые указывают на ваш репозиторий:

Clone URL — ссылка на репозиторий с вашим проектом с любого сервиса по работе с git-репозиториями, например, , ,

Создаём репозиторий в cPanel

Repository Path — путь к репозиторию в cPanel. Сюда будут загружаться файлы с сайтом. Здесь можно указать корневую папку домена или любую другую. Главное, чтобы папка была пустой, иначе назначить её репозиторием не получится.

Создаём репозиторий в cPanel

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

В конце нажмите кнопку «Создать». Репозиторий появится в общей таблице:

Введение

Из статьи вы узнаете о том как настроить терминальный сервер на базе операционной системы Linux. Настраивать будем используя дистрибутив Debian 10 Buster.

Ранее в этой статье я расказывал как производится настройка на Debian 8 и 9 версии и какие нюансы настройки. В новой версии большенсово проблем прошлых версий исправлено, но появились новые с решением которых я с вами и поделюсь.

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

Вариант с нелегальным переводом системы Windows в терминальный сервер используя патчи я сразу отбросил в сторону. Не занимаюсь воровством программ и не буду.

Требования для терминального сервера:

  • Работа буфера обмена в обоих направлениях,
  • Переключение раскладки клавиатуры на русский язык,
  • Работа пользователей по сертификату,
  • Монтирование сетевых ресурсов,
  • Подключение локальной папки на сервер,
  • Создание одной сессии для пользователя,
  • Подключение принтеров.

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

Читайте также:  Как очистить историю команд в Linux

Графическую оболочку лучше использовать легковесную. Например, LXDE или XFCE. В моем примере рассматривается использование XFCE.

Все дальнейшие действия описаны с учетом стандартной усатновки сервера с выбором окружения XFCE и установкой ssh сервера.

Если вам хочется почитать «Как скачать и установить Debian 10 Buster» вы можете это сделать на сайте который стал для меня отправной точкой в изучении Linux. Все статьи на этом ресурсе написаны понятным языком и проверены автором перед тем как выкладывать в сеть.

GitLab и GitHub

Как известно, главный конкурент GitLab — это сервис GitHub. Появился он на три года раньше (в 2008), поэтому более популярен. Да что там говорить, GitHub сегодня — это сайт номер один по размещению open source-проектов. Они почти все на нём и размещаются.))) И у многих людей Git напрямую ассоциируется с сервисом GitHub.

Да, плюсов у GitHub много, но мы не будем сейчас сравнивать оба сервиса. Скажем только, что несмотря на повышенную популярность и огромнейшее комьюнити GitHub (26 млн. человек), наблюдается тенденция перехода крупных команд разработчиков на GitLab. Это происходит благодаря расширенным возможностям второго.

Как решить эту проблему?

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

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

Как решить эту проблему?

Прежде чем продолжить, я хочу подчеркнуть, что VPN не даст вам полной анонимности в сети. Но при этом он поможет вам:

  • избавиться от слежения со стороны интернет-провайдеров и рекламных сетей;
  • исключить модификацию трафика;
  • обойти ограничения на посещение сайтов;
  • зашифровать весь свой трафик.

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

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

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

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

Читайте также:  Обзор MIUI 12.5, когда выйдет и какие смартфоны получат обновление

cd /var/www/html/

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

sudo mkdir superdomain

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

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

cd ..

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

sudo chown -R user:user superdomain

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

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

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

cd superdomain

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

nano

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

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

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

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

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

sudo nano /etc/apache2/sites-available/

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

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

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

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

cd /etc/apache2/sites-available/

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

sudo a2ensite

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

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

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

service apache2 reload

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

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

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

127.0.0.1

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

Читайте также:  IOS 11 дата релиза и как установить новую систему

/etc/hosts

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

C:\Windows\System32\drivers\etc\hosts

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

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

Apache

Веб-сервер чуть медленнее, чем Nginx. Один из самых популярных в интернете.

Одна из ключевых особенностей — .htaccess файлы дополнительной конфигурации. Можно управлять отдельными папками. Размещаете этот файл в папке и прописываете в нём правила.

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

service apache2 restart — перезапуск Apache

service apache2 reload — применение новых конфигов без перезапуска сервера.

service apache2 stop — остановка веб-сервера

Генерация ssh-ключей.

Выполняем следующие команды:

После этого будет предложено ввести имя файла с ключами, либо если имя файла не указать, ключи будут созданы в файле id_rsa. Задаём имя файла с ключами, например, как «git_rsa«. Таким образом мы будем знать, что этот ssh-ключ используется конкретно для git-авторизации. Хотя, никто не запрещает использовать один и тот же ключ id_rsa. Ключи будут храниться в домашней директории пользователя

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

/.ssh появились 2 файла ключа:

Генерация ssh-ключей.
  • git_rsa — приватный, который нельзя никому сообщать
  • git_ — публичный, который мы сообщим gitbucket и github

По умолчанию при подключении к серверу для ssh-авторизации используется ключ с именем id_rsa. Мы это обойдём. Чтобы не указывать имя нужного нам ключа (git_rsa) при каждом подключении к серверу, отредактируйте файл

/.ssh/config (если файла ещё нет, создайте), добавьте содержимое для идентификации bitbucket-хоста и github:

Всё, на нашем комьютере или сервере (смотря где создавали ключи) нужные ключи созданы. Остаётся сообщить (добавить) наш публичный ключ туда, где мы будем проходить авторизацию, т.е. на github и bitbucket.

Добавление ssh-ключа на github

В своём профиле нажимаем Edit Profile -> SSH Keys -> Add SSH key. После этого указываем title (это название ключа, вводится для удобства) и key (это сам ключ, т.е. вставляем сюда всё содержимое файла

/.ssh/git_). Нажимаем Add key.

Добавление ssh-ключа на bitbucket

Генерация ssh-ключей.

Авторизуемся, заходим в свой аккаунт. Нажимаем SSH keys -> Add Key. После ввода ключа в попап окошке нажимаем кнопку Add key для сохранения ssh-ключа.

Теперь вы можете клонировать свои приватные репозитории по ssh ([email protected]) без ввода пароля.

источник