Разное

Debian 8 lamp: Установка комплекта Linux, Apache, MySQL, PHP (LAMP) в Ubuntu 20.04

Содержание

Бесплатные панели управления хостингом для VPS/VDS ⚙️

3 октября 2019

5 887

Время чтения ≈ 11 минут

Бесплатные панели управления хостингом

Размещение интернет-ресурса на базе виртуального сервера (VDS/VPS) не может обойтись без одного важного шага — выбора панели управления (ПУ) для хостинга. Этот инструмент позволяет с лёгкостью регулировать работу сервера и настраивать параметры всех приложений.

Хостинг — крайне востребованная услуга на современном рынке высоких технологий. Неудивительно, что разнообразие панелей управления может поставить в тупик даже опытного в администрировании веб-ресурсов пользователя. Особенно часто сложности возникают у тех, кто пытается сравнить бесплатные панели управления. Ведь у них зачастую отсутствует доступная техническая поддержка и развитые сетевые сообщества.

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

Функционал панелей управления

Наибольшее распространение получили панели управления, выполненные в виде интуитивно понятного графического веб-интерфейса. При помощи контрольной панели можно настроить сервер VDS/VPS, даже без основательных знаний и помощи системного администратора.

Бесплатные панели управления хостингом

Что можно делать через панель управления VDS

  • Размещать, переносить и управлять сайтами.
  • Устанавливать операционные системы (ОС).
  • Добавлять домены и поддомены.
  • Делать резервные копии (бекапы).
  • Управлять файлами и базами данных (БД).
  • Управлять почтовыми аккаунтами (mail, FTP).
  • Добавлять SSL-сертификаты.

И это далеко не полный список. Здесь перечислены те функции, которые чаще всех используются в администрировании VDS/VPS.

Лучшие бесплатные панели управления VDS

Несмотря на ценовую доступность платных ПУ, вроде ISPmanager, cPanel и Plesk, популярность бесплатных панелей управления хостингом продолжает оставаться высокой. Хотя бесплатные ПУ заметно проигрывают в функциональности, их часто выбирают те, кто только начинает изучать системное администрирование или хочет выбрать инструмент под свои специфические требования.

Рассмотрим наиболее распространённые панели с кратким раскрытие их технических возможностей.

Vesta

Это бесплатная панель управления хостингом на VPS с возможностью платной поддержки. Встроенный установщик приложений «в 1 клик» Softaculous позволяет развернуть свыше 400 приложений, включая популярные CMS.

Бесплатные панели управления хостингом - vesta

Ядро ПУ создано на основе BASH — нативной командной оболочки для администрирования Linux серверов, позволяющей повысить эффективность работы на Ubuntu, Debian и других . Панель управления Vesta поставляется с брандмауэром iPTables или fail2ban.

✅ Поддерживаемые ОС: Ubuntu, Debian, RHEL, Centos/RedHat.
✅ Минимальные требования: 512 ОЗУ, 20 ГБ жесткий диск, 1 ГГц ЦП.

Возможности VestaCP
  • Предустановленный модуль LNAMP stack (Nginx + Apache) позволяет ускоренно обрабатывать в кеше статический и динамический контент.
  • Поддержка мультиязычности — 26 языков.
  • Полный контроль над виртуальными серверами, включая статистику, журналы, аналитику и т. д.
  • Поддержка интерфейса CLI.
  • Решения для почтового сервера: SpamAssasin (защита от спама), ClamAV (антивирусное ядро), Dovecot (сервер IMAP/POP3), Exim + RoundCube.
  • Базы данных: MySQL+ phpMyAdmin и PostgreSQL+ phpPgAdmin;
  • Веб-менеджер файлов: для просмотра, копирования, редактирования всех файлов приложения.
  • FTP-менеджер: VsFTPD, ProFTPD.
  • Автоустановка бесплатого SSL-сертификата Lets Encrypt, который обновляется самостоятельно.
  • В качестве веб-сервера поддерживает NGINX, Apache, PHP-FPM.

Brainy

Это мультиязычная панель управления хостингом корпоративного уровня. Предоставляет набор функций не уступающий и даже, в некоторых случаях, превосходящий возможности платных аналогов. Использование контрольной панели Brainycp предполагает автоматизацию всех процессов на стороне сервера.

Бесплатные панели управления хостингом - Brainy

Реализована расширенная поддержка PHP с типами подключения на выбор. С помощью контрольной панели возможно управление множественных хост-аккаунтов с лимитированием разнообразных параметров.

✅ Поддерживаемые ОС: CentOS 7 64bit.
✅ Минимальные требования: 512 МБ ОЗУ, 2 ГБ на жестком диске и процессор от 266 МГц.

Возможности BrainyCP
  • Менеджер приложений.
  • Управление бекапами — резервное копирование по расписанию.
  • Фаловый менеджер ElFinder.
  • Управление IPtables в графическом меню.
  • Поддержка IPv6.
  • BIND DNS-сервер: поддержка удаленных DNS-серверов и кластеризации.
  • FTP: PureFTPD или ProFTPD на выбор.
  • Автоустановка популярных CMS.
  • Почтовый серевер: Exim + Dovecot + Clamav + DKIM + SpamAssasin + Roundcube.
  • CSF файерволл.

Ajenty

Легкая ПУ, где Apache заменен более быстрым NGINX. Ajenty написана на языке Python с поддержкой движка фреймворка Gevent, что позволило реализовать модульную архитектуру.

Бесплатные панели управления хостингом - ajenti

Из преимуществ панели отмечают: простой интерфейс, быстрый доступ к VPS, простую установку и подробную документацию. Контрольная панель поставляется с несколькими предустановленными инструментами, такими как текстовый редактор, менеджер кода, терминал и файловый менеджер.

✅ Поддерживаемые ОС: Debian, Ubuntu, RHEL, CentOS и Gentoo. Также возможен перенос на другое ПО на Linux и BSD.
✅ Минимальные требования: 30 МБ ОЗУ и 75 МБ дискового пространства.

Возможности Ajenty
  • Модульный интерфейс;
  • Поддержка проектов на Python, Ruby on Rails, Node.js;
  • Стандартная поддержка SSL;
  • Управление бд;
  • Файловый менеджер;
  • Управление DNS;
  • Встроенный брандмауэр;
  • Конфигурация зеркал и кластеров;
  • Управление доменами и электронной почтой;
  • Поддержка нескольких серверов;

ISP Config

Одна из наиболее популярных бесплатных панелей управления для VPS. Инструмент с открытым исходным кодом основан на языке PHP. ISP Config позволяет осуществлять управление одновременно несколькими виртуальными и физическими серверами.

Бесплатные панели управления хостингом - ISP Config

✅ Поддерживаемые ОС: Ubuntu, Debian, CentOS, Fedora, OpenSuSE.
✅ Минимальные требования: 30 МБ ОЗУ и 75 МБ дискового пространства.

Возможности ISPConfig
  • Поддержка IPv4 и IPv6.
  • Модуль биллинга ISPConfig 3.
  • 4 уровня доступа – от администратора до гостевого по электронной почте.
  • Сканер вредоносных программ ISPProtect.
  • Инструменты для миграции.
  • Индивидуальные настройки PHP для каждого сайта.
  • Мультиязычность – поддержка более 20 языков.
  • Ruby и Python (только Apache).
  • WebDAV (только Apache) .
  • Базы данных MySQL.
  • Электронная почта: SMTP, POP3, IMAP, POP3S, IMAPS, DKIM Mail.

CWP (CentOS Web Panel)

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

Бесплатные панели управления хостингом - centos

CentOS Web Panel дополняется кеш-сервером Varnish, встроенным межсетевым экраном и установщиком приложений Softaculous Auto. Это позволяет развернуть полноценный стек LAMP с поддержкой кэширования «быстрого» контента прямо в оперативной памяти.

✅ Поддерживаемые ОС: Red Hat версий 6.х, CentOS, CloudLinux.
✅ Минимальные системные требования: 32х ОС от 512 Мб ОЗУ/10Гб HDD; 64х от 1024 Мб ОЗУ/10Гб HDD.

Возможности CentOS Web Panel
  • Возможность переключать версии PHP «в 1 клик».
  • Одинаково удобно управлять сервером и развёрнутым на основе VDS веб-хостингом.
  • Встроенные расширения для CSF Firewall позволяют самим справляться с простыми DDoS-атакам.
  • MySQL/MariaDB+phpMyAdmin.
  • Настройка SPF/DKIM.
  • Стандартные решения почтового сервера (Postfix/Dovecot/roundcube).
  • CloudLinux+CageFS;
  • Управление DNS: FreeDNS, редактор шаблонов зон и диспетчер зон.
  • Встроенный мониторинг VPS в реальном времени;
  • Встроенный блокиратор спама (AmaVIS, ClamAV, OpenDKIM, RBL, SpamAssassin).

Virtualmin (Webmin)

Надежная контрольная панель для VPS с открытым кодом, являющаяся модулем серверной ПУ Webmin, основаной на Perl. Virtualmin позволяет управлять одновременно несколькими веб-хостингами через один интерфейс. Он работает только при условии предварительной установки Webmin.

Бесплатные панели управления хостингом - virtualmin

Веб панель управления сервером распространяется в двух вариантах: бесплатная (Virtualmin GPL) и коммерческая про-версия (Virtualmin Pro). Преимущества ПУ заключаются в простом интерфейсе и системе двойной аутентификации.

✅ Поддерживаемые ОС: Ubuntu, Debian и Centos/RedHat.
✅ Минимальные требования: 110 МБ ОЗУ и 512 МБ дискового пространства.

Возможности Virtualmin
  • Контроль домена: гибкие учетные записи домена, управление почтовым доменом, БД.
  • Электронная почта: RoundCube и Squirrelmail.
  • Возможность автоматически обрабатывать зоны DNS, псевдонимы электронной почты и виртуальных хостов Apache.
  • Безопасность: двухфакторная аутентификация, сертификация, мощная защита, ограничение доступа по IP-адресам.
  • Резервное копирование и интеграция с облаком: корзина Amazon S3, шифрование бекапов, резервные VDS, восстановление резервных копий, бекап по расписанию.
  • Базы данных: PHPMyAdmin и PHPPgAdmin, MySQL, PostgreSQL
  • Модульная установка свыше 100 приложений: CMS, CRM, форумы, коммерция, отслеживание проблем, сообщество и т. д. В бесплатной версии доступно только 7 из них.
  • Отдельно настраиваемый клиент электронной почты Usermin.

ZPanel

Бесплатная панель управления веб-сервером на основе языка PHP. Отличается простой инсталляцией и возможностью расширения функционала при помощи подключаемых модулей. ZPanel совместима с большинством дистрибутивов на ядре Unix/Linux, а также Windows и MacOSX.

Бесплатные панели управления хостингом - ZPanel

✅ Поддерживаемые ОС: Ubuntu, CentOS, Free-BSD.
✅ Минимальные требования: 512 МБ ОЗУ и 1024 МБ дискового пространства.

Возможности ZPanel
  • Веб-сервер Apache + PHP.
  • Интеграция с MySQL, hMailServer (Windows), Posfix (Linux), Filezilla (Windows), ProFTPd (Linux).
  • Сервисы для управления БД и FTP.
  • Система управления DNS.
  • Лимитирование услуг.
  • Создание бекапов.
  • Интеграция биллинговой системы.
  • Поддержка cron.
  • Защита каталогов.
  • Мониторинг нагрузки на сервер.

Вывод

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

Начать можно с бесплатной панели управления. В дальнейшем, когда из-за масштабирования проекта её функционал станет недостаточным, рекомендуется перейти на платный вариант с расширенными возможностями.

Любая панель управления хостингом будет работать со 100% эффективностью только на базе надёжного сервера. VPS от Eternalhost — мощная и безопасная платформа с возможностью гибкой настройки под параметры любого хостинга.

Оцените материал:

[Всего голосов: 3    Средний: 3.7/5]

Настройка Debian после установки

настройка debian после установки

Debian не может похвастаться своей работоспособностью сразу же после установки. Это та операционная система, которую необходимо сначала настроить, и в этой статье будет рассказано, как это сделать.

Читайте также: Популярные дистрибутивы Linux

Настройка Debian

Из-за множества вариантов установки Debian (сетевая, базовая, с DVD-носителей) универсальное руководство составить не получится, поэтому некоторые этапы инструкции будут относиться к определенным версиям операционной системы.

Шаг 1: Обновление системы

Первое, что необходимо сделать после установки системы, это обновить ее. Но это более актуально для пользователей, которые устанавливали Debian с DVD-носителей. Если вы использовали сетевой метод, то все свежие обновления уже будут установлены в ОС.

  1. Откройте «Терминал», прописав его название в меню системы и нажав по соответствующему значку.
  2. запуск терминала в debian

  3. Получите права суперпользователя, выполнив команду:

    su

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

    получение прав суперпользователя в терминале debian

    Примечание: при вводе пароля он никак не отображается.

  4. Поочередно выполните две команды:

    apt-get update
    apt-get upgrade

  5. Перезагрузите компьютер, чтобы закончить обновление системы. Для этого можно в «Терминале» выполнить следующую команду:

    reboot

После того как компьютер снова запустится, система будет уже обновлена, поэтому можно переходить к следующему этапу настройки.

Читайте также: Обновляем Debian 8 до 9 версии

Шаг 2: Установка SUDO

sudo — утилита, созданная с целью наделения отдельных пользователей правами администратора. Как можно было заметить, при обновлении системы необходимо было входить в профиль root, что требует лишних временных затрат. Если использовать sudo, это действие можно пропустить.

Для того чтобы инсталлировать в систему утилиту sudo, необходимо, находясь в профиле root, выполнить команду:

apt-get install sudo

установка утилиты sudo в debian

Утилита sudo установлена, но для ее использования нужно получить права. Проще это сделать, выполнив следующее:

adduser UserName sudo

Где вместо «UserName» надо ввести имя пользователя, которому присваиваются права.

присвоение прав пользователю в терминале debian

В завершение перезагрузите систему, чтобы изменения вступили в силу.

Читайте также: Часто используемые команды в «Терминале» Linux

Шаг: 3: Настройка репозиториев

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

Настроить репозитории для получения проприетарного ПО можно двумя способами: используя программу с графическим интерфейсом и выполняя команды в «Терминале».

Software & Updates

Чтобы провести настройку репозиториев с помощью программы с графическим интерфейсом, сделайте следующее:

  1. Запустите Software & Updates из меню системы.
  2. запуск software & updates в debian

  3. На вкладке «Debian Software» поставьте галочки рядом с теми пунктами, где в скобках указано «main», «contrib» и «non-free».
  4. вкладка debian software в программе software & updates в debian

  5. Из выпадающего списка «Загрузить с» выберите сервер, который расположен ближе всего.
  6. выьор сервера для обновления системы в debian

  7. Нажмите кнопку «Закрыть».

После этого программа предложит вам обновить всю имеющуюся информацию о репозиториях — нажмите кнопку «Обновить», после чего дождитесь окончания процесса и приступайте к выполнению следующего шага.

Терминал

Если по какой-то причине вы не смогли осуществить настройку с помощью программы Software & Updates, то эту же задачу можно выполнить в «Терминале». Вот что нужно делать:

  1. Откройте файл, в котором находится список всех репозиториев. Для этого в статье будет использоваться текстовый редактор GEdit, вы же можете ввести в соответствующем месте команды другой.

    sudo gedit /etc/apt/sources.list

  2. В открывшемся редакторе добавьте ко всем строкам переменные «main», «contrib» и «non-free».
  3. Нажмите кнопку «Сохранить».
  4. Закройте редактор.

Читайте также: Популярные текстовые редакторы для Linux

По итогу ваш файл должен выглядеть примерно так:

настройка переменных в sources list в debian

Теперь, чтобы изменения вступили в силу, обновите список пакетов командой:

sudo apt-get update

Шаг 4: Добавление Backports

Продолжая тему репозиториев, рекомендуется добавить в список Backports. В нем содержатся самые свежие версии программного обеспечения. Этот пакет считается тестовым, но все ПО, которое в нем находится, стабильное. Не попало оно в официальные репозитории только по той причине, что было создано после релиза. Поэтому, если вы хотите обновить драйвера, ядро и другое ПО до последней версии, вам необходимо подключить репозиторий Backports.

Сделать это можно как с помощью Software & Updates, так и «Терминала». Рассмотрим оба способа подробнее.

Software & Updates

Для добавления репозитория Backports с помощью Software & Updates вам необходимо:

  1. Запустить программу.
  2. Перейти во вкладку «Other Software».
  3. Нажать кнопку «Add…».
  4. вкладка other software в software & update в debian

  5. В строку APT ввести:

    deb http://mirror.yandex.ru/debian stretch-backports main contrib non-free (для Debian 9)

    или

    deb http://mirror.yandex.ru/debian jessie-backports main contrib non-free (для Debian 8)

  6. Нажать кнопку «Добавить источник».
  7. добавление репозитория в программе software & update в debian

После проделанных действий закройте окно программы, дав разрешение на обновление данных.

Терминал

В «Терминале» для добавления репозитория Backports необходимо внести данные в файл «sources.list». Для этого:

  1. Откройте нужный файл:

    sudo gedit /etc/apt/sources.list

  2. В нем установите курсор в конце последней строки и, нажав дважды клавишу Enter, сделайте отступ, после чего впишите следующие строки:

    deb http://mirror.yandex.ru/debian stretch-backports main contrib non-free
    deb-src http://mirror.yandex.ru/debian stretch-backports main contrib non-free
    (для Debian 9)

    или

    deb http://mirror.yandex.ru/debian jessie-backports main contrib non-free
    deb-src http://mirror.yandex.ru/debian jessie-backports main contrib non-free
    (для Debian 8)

  3. Нажмите кнопку «Сохранить».
  4. Закройте текстовый редактор.

Чтобы применить все внесенные параметры, обновите список пакетов:

sudo apt-get update

Теперь, для инсталляции в систему программного обеспечения из этого репозитория, используйте следующую команду:

sudo apt-get install -t stretch-backports [package name] (для Debian 9)

или

sudo apt-get install -t jessie-backports [package name] (для Debian 8)

Где вместо «[package name]» впишите наименование пакета, который хотите установить.

Шаг 5: Установка шрифтов

Немаловажным элементом системы являются и шрифты. В Debian их предустановлено очень мало, поэтому пользователям, которые часто работают в текстовых редакторах или с изображениями в программе GIMP, обязательно нужно пополнить список уже имеющихся шрифтов. Помимо прочего, программа Wine не сможет корректно работать без них.

Для установки шрифтов, использующихся в Windows, вам нужно выполнить следующую команду:

sudo apt-get install ttf-freefont ttf-mscorefonts-installer

Добавить можно также шрифты из набора noto:

sudo apt-get install fonts-noto

Вы можете устанавливать и другие шрифты, просто ища их в интернете и перемещая в папку «.fonts», что находится в корне системы. Если этой папки у вас нет, то создайте ее самостоятельно.

Шаг 6: Настройка сглаживания шрифтов

Установив Debian, пользователь может наблюдать плохое сглаживание системных шрифтов. Эта проблема решается довольно просто — нужно создать специальный конфигурационный файл. Вот как это делается:

  1. В «Терминале» перейдите в директорию «/etc/fonts/». Для этого выполните:

    cd /etc/fonts/

  2. переход в другую директории с помощью команды cd в терминале debian

  3. Создайте новый файл с именем «local.conf»:

    sudo gedit local.conf

  4. В открывшийся редактор введите следующий текст:

    <?xml version='1.0'?>
    <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
    <fontconfig>
    <match target="font">
    <edit mode="assign" name="rgba">
    <const>rgb</const>
    </edit>
    </match>
    <match target="font">
    <edit mode="assign" name="hinting">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <edit mode="assign" name="hintstyle">
    <const>hintslight</const>
    </edit>
    </match>
    <match target="font">
    <edit mode="assign" name="lcdfilter">
    <const>lcddefault</const>
    </edit>
    </match>
    <match target="font">
    <edit mode="assign" name="autohint">
    <bool>false</bool>
    </edit>
    </match>
    <dir>~/.fonts</dir>
    </fontconfig>

  5. Нажмите кнопку «Сохранить» и закройте редактор.
  6. сохранение документа local conf в debian

После этого во всей системе шрифты будут иметь нормальное сглаживание.

Шаг 7: Отключение звука системного динамика

Эту настройку необходимо проводить не всем пользователям, а только тем, кто слышит характерный звук из своего системного блока. Дело в том, что в некоторых сборках этот параметр не отключен. Чтобы исправить этот недочет, вам необходимо:

  1. Открыть конфигурационный файл «fbdev-blacklist.conf»:

    sudo gedit /etc/modprobe.d/fbdev-blacklist.conf

  2. В самом конце прописать следующую строку:

    blacklist pcspkr

  3. Сохранить изменения и закрыть редактор.

Только что мы занесли модуль «pcspkr», который отвечает за звук системного динамика, в черный список, соответственно, проблема устранена.

Шаг 8: Установка кодеков

В только установленной системе Debian отсутствуют мультимедийные кодеки, это связано с их проприетарностью. Из-за этого пользователь не сможет взаимодействовать со многими форматами аудио и видео. Чтобы исправить ситуацию, необходимо их установить. Для этого:

  1. Выполните команду:

    sudo apt-get install libavcodec-extra57 ffmpeg

    В процессе установки вам необходимо будет подтвердить действие, набрав на клавиатуре символ «Д» и нажав Enter.

  2. установка кодеков в debian

  3. Теперь нужно установить дополнительные кодеки, но они находятся в другом репозитории, поэтому его нужно предварительно добавить в систему. Для этого выполните поочередно три команды:

    su
    echo "# Debian Multimedia
    deb ftp://ftp.deb-multimedia.org stretch main non-free" > '/etc/apt/sources.list.d/deb-multimedia.list'
    (для Debian 9)

    или

    su
    echo "# Debian Multimedia
    deb ftp://ftp.deb-multimedia.org jessie main non-free" > '/etc/apt/sources.list.d/deb-multimedia.list'
    (для Debian 8)

  4. установка мультимедийных кодеков в debian

  5. Обновите репозитории:

    apt update

    В выдаче можно заметить, что произошла ошибка — система не может получит доступ к GPG-ключу репозитория.

    ошибка при проверке репозиториев в debian

часть 5. hostname, файл hosts, ptr и вот это вот всё. « Debian.pro

Эта статья — часть Большого Мануала по настройке lamp-сервера на debian.

Предыдущая статья цикла — Настраиваем openssh-server.

Следующая статья цикла — Настраиваем locales и клавиатуру для ipmi/vnc-консолей

Сегодня мы поговорим про одну из самых важных вещей при настройке сервера. Был такой анекдот (дословно не помню):
— чего так сильно задумался?
— да hostname серверу выбираю.
— ну ты прям как имя ребенку выбираешь, час уже сидишь.
— ну ты чо. Ребенку можно имя сменить потом, а вот hostname у сервера хрен сменишь.

И действительно — оооочень много геморроя в моей жизни (а особенно в районе почты) было связано с тем, что предыдущие админы/владельцы сервера/рандомные фрилансеры не понимали важности fqdn. Для чего оно вообще нужно? Сервер при обращении к другим серверам будет «представляться» и называть своё «имя». Это имя должно быть корректным (и у нас должны быть документы, бгыгы, чтобы полиция не арестовала). Шутки шутками, но hostname очень важен во «взаимоотношениях» почтовых серверов — если вы пропустите эту статью, то письма с сервера будут улетать в спам почти на всех почтарях.
Много софта тоже завязан на fqdn и будет работать не совсем корректно, если ваш сервер отвечает херню в ответ на команду hostname -f.

Что такое fqdn в принципе? Это доменное имя (да, обычное доменное имя, вроде www.debian.pro). Можно почитать википедию. Я вам лучше покажу на пальцах на примере корректно настроенного сервера, так будет понятнее.

Возьмём для примера корректно настроенный сервер.
Заходим на него по ssh и проверяем hostname:

root@server:~# hostname -f
messer.qs.biz

В ответ на эту команду мы должны получить именно fqdn сервера, а не короткое имя (не messer, например).

Далее узнаем «дефолтный» IP сервера (если у вас всего один IP на сервере — то можете просто скопировать его из письма).
Вообще нужно иметь в виду, что все исходящие коннекты с сервера (если вы не настраивали маршрутизацию локально) будут проходить с одного IP-адреса, вопреки всяческой мифологии.
Собственно, быстрее всего узнать исходящий IP сервера примерно так:

root@server:~# curl ifconfig.me
46.4.251.93

Или так:

root@server:~# curl ip.vlad.pro
46.4.251.93

Запоминаем — с этого адреса (если вы не предпринимали ничего для того, что было по другому) сервер будет открывать все исходящие коннекты — например, обращаться к другим сайтам курлом из php-кода (даже в том случае, если ваш сайт «смотрит» А-записью во второй-третий-десятый IP сервера).

Теперь проверим, что у этого IP есть PTR-запись:

root@server:~# host 46.4.251.93
93.251.4.46.in-addr.arpa domain name pointer messer.qs.biz.

И напоследок проверим, что мы не совсем сошли с ума и прописали прямую запись для нашего хоста в правильный IP:

root@server:~# host messer.qs.biz.
messer.qs.biz has address 46.4.251.93

Вообще всё это было присказка. Теперь начинается сама 5-я часть мануала.
Нам нужно сделать, чтобы в итоге все команды выше отдавали в ответ правильные данные.

Первым делом выберите fqdn для сервера. Обычно fqdn — это домен третьего уровня, на котором «не будет сайта». Проще говоря, www.qs.biz — хреновый fqdn в перспективе (потому что www.qs.biz домен когда-нибудь захочет переехать на другой сервер), а вот messer.qs.biz — неплохое имя, вряд ли я когда-нибудь решу поднять там сайт.
Так же не очень хорошая идея делать fqdn второго уровня по той же причине (хотя если вам не лень регистрировать домен второго уровня только ради этого и вы точно не собираетесь на него вешать сайт — то милости просим).

Когда выбрали fqdn, прописываем прямую А-запись (и AAAA-запись, если есть ipv6) на IP сервера. Здесь я не возьмусь описывать, как именно прописать — регистраторов миллион, панелей управления DNS ещё больше. Если ваш домен делегирован на NS-ы регистратора, то можете подглядеть в инструкции Яндекс.ПДД — http://help.yandex.ru/pdd/add-domain/hoster-settings.xml , там для некоторых регистраторов есть инструкция с картинками.

Через пару часов после того, как вы прописали прямую запись (или сколько у вас там TTL), можно прописывать PTR-запись (или по-другому — обратную запись). Как это сделать, опять же, нужно уточнить в саппорте своего хостера. Могу только отметить, что у PTR-записи на конце должна быть точка, если будете прописывать сами в веб-морде.

Ну и после всего этого остаётся настроить hostname сервера. Для этого нужно поправить 2 файла.
/etc/hostname:

messer.qs.biz

То есть пишем fqdn без точки на конце.

В файл /etc/hosts нужно добавить такую строку:

46.4.251.93 messer.qs.biz messer

Обратите внимание на порядок столбцов в строке — сначала ip, потом fqdn целиком, потом короткое имя хоста (до первой точки).

И в конце нужно запустить команду:

root@server:~# /etc/init.d/hostname start

Для убунты 14.04 и дебиана 8-го (и новее):

root@server:~# service hostname start

На этом всё. Остаётся только дождаться, когда PTR и A записи созданные ранее разъедутся по всем резолверам (обычно — TTL*2) и можно начинать использовать сервер.

Пишем свой unit для SystemD « Debian.pro

В некоторых следующих статьях помимо прочего придется запускать некоторые сервисы без «изкоробочного» init-скрипта или юнита. В 2018 году мне уже пришлось смириться с победой systemd и показывать в тех статьях init-скрипты я уже не буду. Но и рассказывать в каждой статье всю последовательность действий мне будет лень. Поэтому здесь я расскажу, что делать с unit-ом помимо создания, собственно, текстового файла.
Правда, сначала я немного погружусь в воспоминания и включу ворчалку. Мне очень нравился upstart после SysV. Писать простенький конфиг в 7 строк вместо развесистых init-скриптов — лафа. Хотя иногда и требуется бОльшая гибкость, чем в upstart, или unit-ах, но это редкость. Systemd был бы очень клёвой штукой, хорошим продолжением после upstart, если очкарик не тащил бы в него всё подряд. Основные проблемы systemd связаны не с тем, как он запускает сервисы, а с тем, что внутри systemd вконопачены хреновенький dns, ntp и куча чего-то там ещё. На этом холивар предлагаю закончить — писать unit-ы проще, чем init.d (хоть они и не настолько гибкие).
Какой unit мы напишем?

  • Мы запустим программу /usr/bin/holycrap
  • Она будет выполняться в бесконечном цикле — умерла, запустилась заново (в том и смысл unit-ов основной), пока не скажешь stop. Ну то есть проще говоря, у нас из коробки есть простенький watchdog
  • программу запустим от отдельного пользователя и группы
  • передадим переменную окружения прямо из unit-а

Очень важно понимать, что наша программа должна работать именно в foreground (проще говоря — не отдавать консоль обратно сразу после запуска), дабы не мучаться с ExecStartPre, ExecReload и прочими. Если же программа будет сразу уходить в background, то unit из данного примера будет бесконечно перезапускать её.
Поехали. Создаём файл /etc/systemd/system/holycrap.service

# открываем секцию Unit
[Unit]
# Описание Unit-а (видно в service status). Ну вдруг забудем, что это)
Description=Some usefull text

# Наш сервис будет запускаться после того, как поднимется сеть:
After=network.target

# открываем секцию [Service] — здесь будет описано всё про нашу программу.
[Service]
# указываем, что наш сервис — обычная программа, работающая в foreground
Type=simple
# указываем путь до исполняемого файла:
ExecStart=/usr/bin/holycrap
# указываем WorkingDirectory. По сути, эта настройка эмулирует команду «cd /home/holycrap» перед запуском самого бинаря (нужно для некоторого софта, например nodejs).
WorkingDirectory=/home/holycrap
# указываем параметры для watchdog:
# указываем, что бинарь нужно запустить снова, если он умрет
Restart=on-failure
# указываем, что перед повторным запуском нужно подождать 10 секунд.
RestartSec=10s
# указываем пользователя и группу, от имени которых будет запускаться процесс:
User=holycrap
Group=holycrap
# задаём Umask для процесса и его потомков.
# полезно, если хочется, чтобы все файлы данным процессом создавались с chmod 777 (тогда укажите umask 000), или chmod 700 (тогда umask 077). Не забудьте, что umask — инвертированный chmod.
UMask=077
# ну и передадим переменную окружения PORT=9000, местами бывает удобно:
Environment=PORT=9000

# указываем, что наш сервис нужно запускать в multi-user runlevel (оно тут строго говоря для того, чтобы не запускалось в single mode — так-то нам куда важнее network.target, указанный выше
[Install]
WantedBy=multi-user.target

То же самое, но «удобное для копипасты». Только учтите, что здесь почти нет обязательных параметров (в самых простых случаях я оставляю только Description=, After=, ExecStart= и WantedBy=

[Unit]
Description=Some usefull text
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/holycrap
WorkingDirectory=/home/holycrap
Restart=on-failure
RestartSec=10s
User=holycrap
Group=holycrap
UMask=077
Environment=PORT=9000

[Install]
WantedBy=multi-user.target

В названии файла /etc/systemd/system/holycrap.service важны 2 вещи. Во-первых, файлы без расширения .service будут игнорироваться. Во-вторых, holycrap в данном случае будет названием нашего сервиса (именно его мы будем передавать командам service или systemctl).
Файл мы создали, теперь нужно «применить» его. Учтите, что эту команду нужно выполнять после любого изменения .service-файла, иначе systemd будет использовать старый unit (ну вообще он чё-то там может поругаться, что unit изменился и вообще ничего не делать).

root@server:~# systemctl daemon-reload

Теперь мы можем управлять нашим сервисом (ну и он уже в «автозагрузке», если что):

root@server:~# service holycrap start|stop|restart

Неплохо было бы посмотреть, что наш бинарь понаписал в STDOUT/STDERR (ведь с первого раза по традиции ничего не заработает). Вообще логи с моей точки зрения — больное место systemd. Не потому что плохо работают, а потому что всю эту логику придумал больной на голову человек.
В systemd 236 появились, конечно, параметры StandardOutput=file:/path/to/file и StandardError= (видимо, больной человек голову вылечил и прислушался к пользователям), но проблема тут ещё и в том, что ни в debian 8, ни в debian 9 эти параметры работать не будут (версия старая). Поэтому придется понять логику этого психа.
Посмотреть что-то как-то из STDOUT и STDERR бинаря после запуска сервиса можно так:

root@server:~# service holycrap status

Только вот это будет именно «что-то» и «как-то». Даже длинную строку поскроллить вправо не получится. Зато запомнить легко, ну а там — вдруг повезет.
Предполагается, что каждый пользователь должен уметь в journalctl. Кстати, эта пежня считает себя слишком гордой, чтобы использовать системный pager (less например), поэтому вы будете охуевать, пытаясь посмотреть большой лог, если не сделаете хотя бы | grep (ну или сразу |less).
Посмотрим все логи для нашего unit-а (там, кстати, пишут не только std{err,out}, но и сообщения от самого systemd, если он не смог распарсить .service-файл, например:

root@server:~# journalctl -u holycrap

Если логов слишком дохуя, попробуем посмотреть только с момента загрузки системы (тоже именно для нашего сервиса) — опция -b:

root@server:~# journalctl -b -u holycrap

Проблемы начинаются, когда хочется посмотреть лог для текущего старта (не, ну можно tail -20 и глазами) — вот тут и всплывает инопланетная логика очкарика и его последователей. Так, блять, нельзя О_о. Ну или оно настолько неочевидно в мане и гугле, что за год я так и не смог найти.
Если мы знаем pid процесса, то в целом можно посмотреть лог по пиду. Если он один, мать его… Ах да, смотрите на чудесную инопланетную логику в действии. Чтобы посмотреть логи по пиду, нужно использовать journalctl вот с таким параметром (9999 — сам pid):

root@server:~# journalctl _PID=9999

Я всё же привык к опциям, которые начинаются с дефиса или двух… Может быть с буквы (если это позиционный параметр). Но чтобы с _ ?
Можно посмотреть лог за последние несколько минут (это, кстати, удобно, если не обращать внимания на нашу текущую цель). Если вы помните, когда перезапускали сервис — поможет.

root@server:~# journalctl -b -u holycrap —since=»25 min ago»

Можно запустить journalctl в режиме «tail -f» (опять же — для сервиса holycrap) и порестартить сервис в соседней консоли:

root@server:~# journalctl -f -u holycrap

Весело, пздц =) Но сервисы под systemd работают и ладно — я уже как-то привык, если ЁНХ происходит, делать stop сервису и запускать программу руками.
Ну а чтобы разобраться в происходящем, перечислю ваших лучших друзей — man systemd.exec, man systemd.unit, man systemd.service и journalctl —help
А, ну и да, ещё из области инопланетной логики. Не проверяйте exit code у service/systemctl НИКОГДА. Если service выполнился успешно (дескать, вы не попытались запустить сервис с очепяткой), то exit будет нулём, даже если сама программа внутри не запустилась (нет бинаря, или бинарь сделал exit 1).

Основные консольные команды Linux (Debian)


























































































































































































































КомандаОписание
Системная информация
archотобразить архитектуру компьютера
uname -m
uname -rотобразить используемую версию ядра
dmidecode -qпоказать аппаратные системные компоненты — (SMBIOS / DMI)
hdparm -i /dev/hdaвывести характеристики жесткого диска
hdparm -tT /dev/sdaпротестировать производительность чтения данных с жесткого диска
cat /proc/cpuinfoотобразить информацию о процессоре
cat /proc/interruptsпоказать прерывания
cat /proc/meminfoпроверить использование памяти
cat /proc/swapsпоказать файл(ы) подкачки
cat /proc/versionвывести версию ядра
cat /proc/net/devпоказать сетевые интерфейсы и статистику по ним
cat /proc/mountsотобразить смонтированные файловые системы
lspci -tvпоказать в виде дерева PCI устройства
lsusb -tvпоказать в виде дерева USB устройства
dateвывести системную дату
cal 2007вывести таблицу-календарь 2007-го года
date 041217002007.00установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -wсохранить системное время в BIOS
Остановка системы
shutdown -h nowОстановить систему
init 0
telinit 0
shutdown -h hours:minutes &запланировать остановку системы на указанное время
shutdown -cотменить запланированную по расписанию остановку системы
shutdown -r nowперегрузить систему
reboot
logoutвыйти из системы
Файлы и директории
cd /homeперейти в директорию ‘/home’
cd ..перейти в директорию уровнем выше
cd ../..перейти в директорию двумя уровнями выше
cdперейти в домашнюю директорию
cd ~userперейти в домашнюю директорию пользователя user
cd —перейти в директорию, в которой находились до перехода в текущую директорию
pwdпоказать текущюю директорию
lsотобразить содержимое текущей директории
ls -Fотобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип
ls -lпоказать детализированое представление файлов и директорий в текущей директории
ls -aпоказать скрытые файлы и директории в текущей директории
ls *[0-9]*показать файлы и директории содержащие в имени цифры
treeпоказать дерево файлов и директорий, начиная от корня (/)
lstree
mkdir dir1создать директорию с именем ‘dir1’
mkdir dir1 dir2создать две директории одновременно
mkdir -p /tmp/dir1/dir2создать дерево директорий
rm -f file1удалить файл с именем ‘file1’
rmdir dir1удалить директорию с именем ‘dir1’
rm -rf dir1удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое
rm -rf dir1 dir2удалить две директории и рекурсивно их содержимое
mv dir1 new_dirпереименовать или переместить файл или директорию
cp file1 file2сопировать файл file1 в файл file2
cp dir/* .копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 .копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2копировать директорию dir1 в директорию dir2
ln -s file1 lnk1создать символическую ссылку на файл или директорию
ln file1 lnk1создать «жёсткую» (физическую) ссылку на файл или директорию
touch -t 0712250000 fileditestмодифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)
Поиск файлов
find / -name file1найти файлы и директории с именем file1. Поиск начать с корня (/)
find / -user user1найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)
find /home/user1 -name «*.bin»Найти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1’
find /usr/bin -type f -atime +100найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней
find /usr/bin -type f -mtime -10найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней
find / -name *.rpm -exec chmod 755 ‘{}’ ;найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, и изменить права доступа к ним
find / -xdev -name «*.rpm»найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, игнорируя съёмные носители, такие как cdrom, floppy и т.п.
locate «*.ps»найти все файлы, сожержащие в имени ‘.ps’. Предварительно рекомендуется выполнить команду ‘updatedb’
whereis haltпоказывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу ‘halt’
which haltотображает полный путь к файлу ‘halt’
Монтирование файловых систем
mount /dev/hda2 /mnt/hda2монтирует раздел ‘hda2’ в точку монтирования ‘/mnt/hda2’. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2’
umount /dev/hda2размонтирует раздел ‘hda2’. Перед выполнением, покиньте ‘/mnt/hda2’
fuser -km /mnt/hda2принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем
umount -n /mnt/hda2выполнить размонитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске
mount /dev/fd0 /mnt/floppyмонтировать флоппи-диск
mount /dev/cdrom /mnt/cdromмонтировать CD или DVD
mount /dev/hdc /mnt/cdrecorderмонтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)
mount -o loop file.iso /mnt/cdromсмонтировать ISO-образ
mount -t vfat /dev/hda5 /mnt/hda5монтировать файловую систему Windows FAT32
mount -t smbfs -o username=user,password=pass//winclient/share /mnt/shareмонтировать сетевую файловую систему Windows (SMB/CIFS)
mount -o bind /home/index.php?dn=userprg /var/ftp/user«монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно.
Дисковое пространство
df -hотображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим.переводчика. ключ -h работает не во всех *nix системах)
ls -lSr |moreвыдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр
du -sh dir1подсчитывает и выводит размер, занимаемый директорией ‘dir1’(Прим.переводчика. ключ -h работает не во всех *nix системах)
du -sk * | sort -rnотображает размер и имена файлов и директорий, с соритровкой по размеру
rpm -q -a --qf ‘%10{SIZE}t%{NAME}n’ |sort -k1,1nпоказывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)
dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1nпоказывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
Пользователи и группы
groupadd group_nameсоздать новую группу с именем group_name
groupdel group_nameудалить группу group_name
groupmod -n new_group_name old_group_nameпереименовать группу old_group_name в new_group_name
useradd -c «Nome Cognome» -g admin -d /home/user1 -s /bin/bash user1создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome
useradd user1создать пользователя user1
userdel -r user1удалить пользователя user1 и его домашний каталог
usermod -c «User FTP» -g system -d /ftp/user1 -s /bin/nologin user1изменить атрибуты пользователя
passwdсменить пароль
passwd user1сменить пароль пользователя user1 (только root)
chage -E 2005-12-31 user1установить дату окончания действия учётной записи пользователя user1
pwckпроверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
grpckпроверяет корректность системных файлов учётных записей. Проверяется файл/etc/group
newgrp [-] group_nameизменяет первичную группу текущего пользователя. Если указать «-«, ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
Выставление/изменение полномочий на файлы
ls -lhпросмотр полномочий на файлы и директории в текущей директории
ls /tmp | pr -T5 -W$COLUMNSвывести содержимое директории /tmp и разделить вывод на пять колонок
chmod ugo+rwx directory1добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом «chmod 777 directory1»
chmod go-rwx directory1отобрать у группы и всех остальных все полномочия на директорию directory1.
chown user1 file1назначить владельцем файла file1 пользователя user1
chown -R user1 directory1назначить рекурсивно владельцем директории directory1 пользователя user1
chgrp group1 file1сменить группу-владельца файла file1 на group1
chown user1:group1 file1сменить владельца и группу владельца файла file1
find / -perm -u+sнайти, начиная от корня, все файлы с выставленным SUID
chmod u+s /bin/binary_fileназначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.
chmod u-s /bin/binary_fileснять SUID-бит с файла /bin/binary_file.
chmod g+s /home/publicназначить SGID-бит директории /home/public.
chmod g-s /home/publicснять SGID-бит с директории /home/public.
chmod o+t /home/publicназначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам
chmod o-t /home/publicснять STIKY-бит с директории /home/public
Специальные атрибуты файлов
chattr +a file1позволить открывать файл на запись только в режиме добавления
chattr +c file1позволяет ядру автоматически сжимать/разжимать содержимое файла.
chattr +d file1указавет утилите dump игнорировать данный файл во время выполнения backup’а
chattr +i file1делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.
chattr +s file1позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращяет возможность восстановления данных.
chattr +S file1указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync
chattr +u file1данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить
lsattrпоказать атрибуты файлов
Архивирование и сжатие файлов
bunzip2 file1.bz2разжимает файл ‘file1.gz’
gunzip file1.gz
gzip file1сжимает файл ‘file1’
bzip2 file1
gzip -9 file1сжать файл file1 с максимальным сжатием
rar a file1.rar test_fileсоздать rar-архив ‘file1.rar’ и включить в него файл test_file
rar a file1.rar file1 file2 dir1создать rar-архив ‘file1.rar’ и включить в него file1, file2 и dir1
unrar x file1.rarраспаковать rar-архив
tar -cvf archive.tar file1создать tar-архив archive.tar, содержащий файл file1
tar -cvf archive.tar file1 file2 dir1создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
tar -tf archive.tarпоказать содержимое архива
tar -xvf archive.tarраспаковать архив
tar -xvf archive.tar -C /tmpраспаковать архив в /tmp
tar -cvfj archive.tar.bz2 dir1создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -xvfj archive.tar.bz2разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -cvfz archive.tar.gz dir1создать архив и сжать его с помощью gzip
tar -xvfz archive.tar.gzразжать архив и распаковать его
zip file1.zip file1создать сжатый zip-архив
zip -r file1.zip file1 file2 dir1создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
unzip file1.zipразжать и распаковать zip-архив
RPM пакеты (Fedora, Red Hat и тому подобное)
rpm -ivh package.rpmустановить пакет с выводом сообщений и прогресс-бара
rpm -ivh --nodeps package.rpmустановить пакет с выводом сообщений и прогресс-бара без контроля зависимостей
rpm -U package.rpmобновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен
rpm -F package.rpmобновить пакет только если он установлен
rpm -e package_name.rpmудалить пакет
rpm -qaотобразить список всех пакетов, установленных в системе
rpm -qa | grep httpdсреди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
rpm -qi package_nameвывести информацию о конкрентном пакете
rpm -qg «System Environment/Daemons»отобразить пакеты входящие в группу пакетов
rpm -ql package_nameвывести список файлов, входящих в пакет
rpm -qc package_nameвывести список конфигурационных файлов, входящих в пакет
rpm -q package_name --whatrequiresвывести список пакетов, необходимых для установки конкретного пакета по зависимостям
rpm -q package_name --whatprovidesshow capability provided by a rpm package
rpm -q package_name --scriptsотобразит скрипты, запускаемые при установке/удалении пакета
rpm -q package_name --changelogвывести историю ревизий пакета
rpm -qf /etc/httpd/conf/httpd.confпроверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла.
rpm -qp package.rpm -lотображает список файлов, входящих в пакет, но ещё не установленных в систему
rpm --import /media/cdrom/RPM-GPG-KEYипортировать публичный ключ цифровой подписи
rpm --checksig package.rpmпроверит подпись пакета
rpm -qa gpg-pubkeyпроверить целостность установленного содержимого пакета
rpm -V package_nameпроверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета
rpm -Vaпроверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!
rpm -Vp package.rpmпроверить пакет, который ещё не установлен в систему
rpm2cpio package.rpm | cpio --extract --make-directories *bin*извлечь из пакета файлы содержащие в своём имени bin
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpmустановить пакет, собранный из исходных кодов
rpmbuild --rebuild package_name.src.rpmсобрать пакет из исходных кодов
YUM — средство обновления пакетов(Fedora, RedHat и тому подобное)
yum install package_nameзакачать и установать пакет
yum updateобновить все пакеты, установленные в систему
yum update package_nameобновить пакет
yum remove package_nameудалить пакет
yum listвывести список всех пакетов, установленных в систему
yum search package_nameнайти пакет в репозитории
yum clean packagesочисть rpm-кэш, удалив закачанные пакеты
yum clean headersудалить все заголовки файлов, которые система использует для разрешения зависимостей
yum clean allочисть rpm-кэш, удалив закачанные пакеты и заголовки
DEB пакеты (Debian, Ubuntu и тому подобное)
dpkg -i package.debустановить / обновить пакет
dpkg -r package_nameудалить пакет из системы
dpkg -lпоказать все пакеты, установленные в систему
dpkg -l | grep httpdсреди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
dpkg -s package_nameотобразить инфрмацию о конкретном пакете
dpkg -L package_nameвывести список файлов, входящих в пакет, установленный в систему
dpkg --contents package.debотобразить список файлов, входящих в пакет, который ешё не установлен в систему
dpkg -S /bin/pingнайти пакет, в который входит указанный файл.
APT — средство управление пакетами (Debian, Ubuntu и тому подобное)
apt-get install package_nameустановить / обновить пакет
apt-cdrom install package_nameустановить / обновить пакет с cdrom’а
apt-get updateполучить обновлённые списки пакетов
apt-get upgradeобновить пакеты, установленные в систему
apt-get remove package_nameудалить пакет, установленный в систему с сохранением файлов конфигурации
apt-get purge package_nameудалить пакет, установленный в систему с удалением файлов конфигурации
apt-get checkпроверить целостность зависимостей
apt-get cleanудалить загруженные архивные файлы пакетов
apt-get autocleanудалить старые загруженные архивные файлы пакетов
Просмотр содержимого файлов
cat file1вывести содержимое файла file1 на стандартное устройсво вывода
tac file1вывести содержимое файла file1 на стандартное устройсво вывода в обратном порядке (последняя строка становиться первой и т.д.)
more file1постраничный вывод содержимого файла file1 на стандартное устройство вывода
less file1постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т.п.
head -2 file1вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -2 file1вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -f /var/log/messagesвыводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.
Манипуляции с текстом
cat file | grep -i «Criteria» > result.txtобщий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый
cat file | grep -i «Criteria» » result.txtобщий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет создан
grep Aug /var/log/messages

Локализация Debian | Небольшой Блог Системного Администратора

Устанавливаем русскую локализацию дистрибутива:

1. Выполнив

locale

убеждаемся что отсутствует русский язык


LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

Редактируем файл /etc/default/locale

vi /etc/default/locale
    Внимание: неправильное содержимое файла, на ОС Ubuntu приводит к невозможности загрузки ОС.

приводим его к такому виду:

LANG="ru_RU.UTF-8"

после чего запускаем:

locale-gen

Аналогичный эфект будет, если запустить мастера и выбрать из всего списка нужную локаль:

dpkg-reconfigure locales

После перезагрузки, в консоли SSH будет русский язык, но в консоли самого сервера возможно будут кривые символы за место букв. Для исправления этого, необходимо сменить шрифт консоли. В файле /etc/default/console-setup меняем:

CODESET="Lat15"

на:

CODESET="CyrSlav"

2. Если вышеуказанные способы не помогли, получить русский язык в консоли можно следующим образом:

Устанавливаем пакет русского языка для консоли:

apt-get install console-cyrillic

Выполняем настройку языкового пакета:

dpkg-reconfigure console-cyrillic

На вопросы мастера отвечаем следующими ответами:


What virtual consoles do you use?                           -->  /dev/tty[1-6]
Choose the keyboard layout                                  -->  Russian
Toggling between Cyrillic and Latin characters              -->  Caps Lock
Switching temporarily between Cyrillic and Latin characters -->  No temporary switch
Choose a font for the console.                              -->  UniCyr
What is your favourite font size?                           -->  14
What is your encoding?                                      -->  UNICODE
Do you want to setup Cyrillic on the console at boot-time?  -->  Yes

После перезагрузки Вас будет радовать родной язык консоли. Ах да, не забывайте что используете кодировку UTF-8, когда подключаетесь к серверу спомощью Putty. А то получите кучу непонятных иероглифов.

VN:F [1.9.22_1171]

Рейтинг: 8.9/10 (8 голоса(ов))

Локализация Debian, 8.9 out of 10 based on 8 ratings

LAMP в Debian 8 — Руководства и инструкции по работе с

Что такое ЛАМПА?

LAMP — это обычный веб-стек, который расшифровывается как Linux, Apache, MySQL и PHP. Он используется для подготовки серверов для размещения веб-контента.

  1. Чтобы проверить короткое имя хоста, используйте следующую команду:
 имя хоста 
  1. Чтобы проверить ваше полное доменное имя (полное доменное имя), используйте следующую команду:
 имя хоста -f 
  1. Для обновления репозиториев и пакетов вашего экземпляра запустите:
 sudo apt-get update && sudo apt-get upgrade 

Веб-сервер Apache

Установка и настройка
  1. Для установки Apache 2.4 пробег:
 sudo apt-get install apache2 
  1. Отредактируйте основной файл конфигурации Apache, чтобы отключить параметр KeepAlive.

Файл: /etc/apache2/apache2.conf

 KeepAlive Off
 
  1. Для изменения значений в соответствии с вашими требованиями откройте /etc/apache2/mods-available/mpm_prefork.conf.

Следующие конфигурации предназначены для инстанса 2 ГБ:

Файл : / etc / apache2 / mods-available / mpm_prefork.conf

  # предварительная вилка MPM  
   # StartServers: количество процессов сервера для запуска  
   # MinSpareServers: минимальное количество серверных процессов, которые остаются резервными  
   # MaxSpareServers: максимальное количество серверных процессов, которые остаются резервными  
   # MaxRequestWorkers: максимальное количество серверных процессов, разрешенных для запуска  
   # MaxConnectionsPerChild: максимальное количество запросов, обслуживаемых серверным процессом  
 

 StartServers 4
 MinSpareServers 20
 MaxSpareServers 40
 MaxRequestWorkers 200
 MaxConnectionsPerChild 4500


  # vim: syntax = apache ts = 4 sw = 4 sts = 4 sr noet  
  
  1. В Debian 8 модуль событий должен быть отключен, поскольку он включен по умолчанию.
 судо a2dismod mpm_event
sudo a2enmod mpm_prefork 
  1. Перезапустите Apache:
 sudo systemctl перезапустить apache2
 
Виртуальные хосты на основе имени конфигурации

У вас может быть столько файлов виртуального хоста, сколько необходимо для поддержки нескольких доменов, размещенных в экземпляре.

  1. Создавайте новые каталоги для своих веб-сайтов и журналы веб-сайтов.
 судо mkdir -p /var/www/html/example.com/public_html
sudo mkdir / var / www / html / .com / журналы 

Повторите процесс, если вы размещаете несколько веб-сайтов.

  1. Создайте файл .com.conf в / etc / apache2 / sites-available.

Файл : /etc/apache2/sites-available/.com.conf

 
 ServerAdmin веб-мастер @  .com
 ServerName  .com
 ServerAlias ​​www.  .com
 DocumentRoot / var / www / html / .ru / public_html /
 ErrorLog /var/www/html/.com/logs/error.log
 CustomLog /var/www/html/.com/logs/access.log вместе
 

Повторите этот процесс, если вы размещаете несколько доменов.

Файл : /etc/apache2/sites-available/.org.conf

 
 ServerAdmin веб-мастер @  .org
 ServerName .org
 ServerAlias ​​www.  .org
 DocumentRoot /var/www/html/.org/public_html/
 ErrorLog /var/www/html/.org/logs/error.log
 CustomLog /var/www/html/.org/logs/access.log вместе
 
  1. Свяжите файл виртуальных хостов из каталога с доступными сайтами с каталогом с поддержкой сайтов.
 sudo a2ensite <имя вашего домена> .com.conf
sudo a2ensite <имя вашего домена>.org.conf 

Примечание: Чтобы отключить сайт

 sudo a2dissite <имя вашего домена> .com.conf 
  1. Перезапустите Apache:

sudo systemctl перезапустить apache2

MySQL

Установка и настройка
  1. Для установки пакета MySQL запустите:
 sudo yum установить mysql-server 
  1. Для безопасной установки MySQL запустите:
 mysql_secure_installation 
Создание базы данных MySQL
  1. Вход в MySQL:
 mysql -u корень -p 
  1. Создать базу данных и пользователя:
 создать базу данных tableName;
предоставить все на tableName.* на «имя пользователя», идентифицируемое «паролем»; 
  1. Выход из MySQL:
 выйти из 

PHP

Установка и настройка
  1. Для установки PHP5 и репозитория расширений и приложений PHP:
 sudo apt-get install php5 php-pear 

2. Отредактируйте /etc/php5/apache2/php.ini и измените следующие значения.

Следующие конфигурации предназначены для инстанса 2 ГБ:

Файл: / etc / php5 / apache2 / php.ini

 error_reporting = E_COMPILE_ERROR | E_RECOVERABLE_ERROR | E_ERROR | E_CORE_ERROR
error_log = /var/log/php/error.log
max_input_time = 30 

Примечание: все строки выше следует раскомментировать. (; следует удалить):

  1. Создать каталог журналов PHP:
 судо mkdir / var / log / php 
  1. Передать право собственности пользователю Apache:
 sudo chown apache / var / log / php 
  1. Перезапустите Apache:
 sudo service httpd перезапуск 

Как установить LAMP Server на Debian 9

Из этого туториала Вы узнаете, как установить LAMP Server на Debian 9 Stretch.LAMP — это комбинация Linux, Apache, MySQL / MariaDB и PHP. С помощью этой LAMP мы можем создать мощный и надежный веб-сервер для размещения веб-приложений и многих других вещей. Есть несколько шагов для установки LAMP в Debian 9. Пожалуйста, прочтите мою другую публикацию о , как установить Debian 9 Stretch . В этом руководстве я расскажу вам, как установить сервер LAMP на автономный сервер Debian 9. Итак, в моем случае нет графического интерфейса. Если у вас Debian 8, посетите эту страницу, чтобы посмотреть, как установить LAMP на Debian 8.8 .

Конфигурация системы

  • ОС: Debian 9 Stretch
  • IP-адрес: 10.34.0.202
  • Доменное имя: debian.manjaro.lan

Шаги по установке LAMP Server на Debian 9

Откройте терминал (если у вас есть графический интерфейс) или просто подключитесь к серверу Debian 9 по ssh и войдите в систему как root.

Шаг 1. Установите веб-сервер Apache

 подходит для установки apache2 

Выходной образец:

 root @ debian: ~ # apt install apache2
Чтение списков пакетов... Выполнено
Построение дерева зависимостей
Чтение информации о состоянии ... Готово
Следующие пакеты были установлены автоматически и больше не требуются:
  libglib2.0-0 libglib2.0-данные общие-mime-информация xdg-user-dirs
Используйте apt autoremove, чтобы удалить их.
Будут установлены следующие дополнительные пакеты:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
  liblua5.2-0 SSL-сертификат
Предлагаемые пакеты:
  www-браузер apache2-doc apache2-suexec-pristine | apache2-suexec-пользовательский openssl-черный список
Будут установлены следующие НОВЫЕ пакеты:
  apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap liblua5.2-0 SSL-сертификат
0 обновлено, 10 установлено заново, 0 удалено и 0 не обновлено.
Необходимо получить 2 144 КБ архивов.
После этой операции будет использовано 7 137 КБ дополнительного дискового пространства.
Вы хотите продолжить? [Да / нет] 

Запустить и включить Apache при загрузке

 systemctl запустить apache2
systemctl включить apache2 

Теперь проверьте веб-сервер. Откройте веб-браузер и введите IP-адрес Debian. Вы должны увидеть что-то вроде этого ниже.

Шаг 2.Установите MariaDB Server

Используйте следующую команду для установки сервера MariaDB. К вашему сведению, MariaDB — это база данных по умолчанию для пакета MySQL в Debian 9.

 apt установить mysql-server 

Выходной образец

 root @ debian: ~ # apt install mysql-server
Чтение списков пакетов ... Готово
Построение дерева зависимостей
Чтение информации о состоянии ... Готово
Следующие пакеты были установлены автоматически и больше не требуются:
  libglib2.0-0 libglib2.0-данные общие-mime-информация xdg-user-dirs
Используйте apt autoremove, чтобы удалить их.
Будут установлены следующие дополнительные пакеты:
  default-mysql-server galera-3 gawk libaio1 libarchive13 libcgi-fast-perl libcgi-pm-perl
  libdbd-mysql-perl libdbi-perl libencode-locale-perl libfcgi-perl libhtml-парсер-perl libhtml-набор тегов-perl
  libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl libjemalloc1
  liblwp-mediatypes-perl libsigsegv2 libterm-readkey-perl libtimedate-perl liburi-perl mariadb-client-10.1
  mariadb-client-core-10.1 mariadb-common mariadb-server-10.1 mariadb-server-core-10.1 socat
Предлагаемые пакеты:
  gawk-doc lrzip libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl libdata-дамп-perl
  libipc-sharedcache-perl libwww-perl mariadb-test netcat-openbsd tinyca
Будут установлены следующие НОВЫЕ пакеты:
  default-mysql-server galera-3 gawk libaio1 libarchive13 libcgi-fast-perl libcgi-pm-perl
  libdbd-mysql-perl libdbi-perl libencode-locale-perl libfcgi-perl libhtml-парсер-perl libhtml-набор тегов-perl
  libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl libjemalloc1
  liblwp-mediatypes-perl libsigsegv2 libterm-readkey-perl libtimedate-perl liburi-perl mariadb-client-10.1
  mariadb-client-core-10.1 mariadb-common mariadb-server-10.1 mariadb-server-core-10.1 mysql-server socat
0 обновлено, 30 вновь установлено, 0 удалено и 0 не обновлено.
Необходимо получить 25,3 МБ архивов.
После этой операции будет использовано 188 МБ дополнительного дискового пространства.
Вы хотите продолжить? [Да / нет] 

Теперь запустите MariaDB и включите его при загрузке

 systemctl start mariadb
systemctl включить mariadb 

Проверить статус службы mariadb

 root @ debian: ~ # systemctl status mariadb
● mariadb.service - сервер базы данных MariaDB
   Загружено: загружено (/lib/systemd/system/mariadb.service; включено; предустановка поставщика: включено)
   Активен: активен (работает) с сб 24.06.2017 09:43:39 WITA; 20с назад
 Основной PID: 9622 (mysqld)
   Статус: «Принимаю ваши SQL-запросы сейчас ...»
   CGroup: /system.slice/mariadb.service
           └─9622 / usr / sbin / mysqld

24 июня 09:43:38 debian systemd [1]: Запуск сервера базы данных MariaDB ...
24 июня, 09:43:39 debian mysqld [9622]: 2017-06-24 9:43:39 140594638725696 [Примечание] / usr / sbin / mysqld (mysqld 10.24 июня 09:43:39 debian systemd [1]: запущен сервер базы данных MariaDB. 

Безопасная установка MariaDB

 mysql_secure_installation 

Следуйте инструкциям мастера на экране, чтобы усилить защиту MariaDB. Поздравляем, вы успешно установили сервер MariaDB на Debian 9.

Шаг 3. Установите PHP

Теперь мы установим PHP на Debian 9. Используйте следующую команду

 apt установить php php-mysql 

Выходной образец

 oot @ debian: ~ # apt install php php-mysql
Чтение списков пакетов... Выполнено
Построение дерева зависимостей
Чтение информации о состоянии ... Готово
Следующие пакеты были установлены автоматически и больше не требуются:
  libglib2.0-0 libglib2.0-данные общие-mime-информация xdg-user-dirs
Используйте apt autoremove, чтобы удалить их.
Будут установлены следующие дополнительные пакеты:
  libapache2-mod-php7.0 php-common php7.0 php7.0-cli php7.0-common php7.0-json php7.0-mysql php7.0-opcache
  php7.0-readline
Предлагаемые пакеты:
  php-груша
Будут установлены следующие НОВЫЕ пакеты:
  libapache2-mod-php7.0 php общий php php-mysql php7.0 php7.0-cli php7.0-общий php7.0-json php7.0-mysql
  php7.0-opcache php7.0-readline
0 обновлено, 11 установлено заново, 0 удалено и 0 не обновлено.
Необходимо получить 3691 КБ архивов.
После этой операции будет использовано 14,6 МБ дополнительного дискового пространства.
Вы хотите продолжить? [Да / нет] 

Теперь проверьте установленную версию PHP

 корень @ debian: ~ # php --version
PHP 7.0.19-1 (cli) (построено: 11 мая 2017 14:04:47) (NTS)
Авторские права (c) 1997-2017 Группа PHP
Zend Engine v3.0.0, Авторское право (c) 1998-2017 Zend Technologies
    с Zend OPcache v7.0.19-1, Copyright (c) 1999-2017, Zend Technologies 

На этом этапе мы успешно установили сервер LAMP на Debian 9 Stretch. Спасибо, за то что прочитали эту статью. Поделитесь этой статьей, если вы нашли ее полезной.

Нравится:

Нравится Загрузка …

Установка: Linux

Мы поддерживаем x86_64 Linux и предлагаем готовые пакеты для различных Ubuntu и
Платформы Debian.

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

Для этих инструкций требуется root; используйте su - или sudo -i , чтобы сначала получить корневую оболочку.

Получение последней стабильной версии

Ubuntu

  apt-get update
apt-get установить общие свойства программного обеспечения apt-транспорт-https
apt-key adv --recv-keys --keyserver hkp: //keyserver.ubuntu.ком: 80 0xB4112585D386EB94

add-apt-репозиторий https://dl.hhvm.com/ubuntu
apt-get update
apt-get install hhvm
  

Debian 8 Джесси, Debian 9 Stretch

  apt-get update
apt-get install -y apt-transport-https общие свойства программного обеспечения
apt-key adv --recv-keys --keyserver hkp: //keyserver.ubuntu.com: 80 0xB4112585D386EB94

репозиторий add-apt https://dl.hhvm.com/debian
apt-get update
apt-get install hhvm
  

Получение специального выпуска

Обычно рекомендуется запускать самую новую версию, которую может поддерживать ваш код.Этот bash oneliner можно использовать для добавления репозитория для версии, которую вы хотите установить. Замените major основной версией hhvm, а minor — второстепенной версией hhvm. Вы не должны указывать патч в номере версии.

apt-add-repository "deb https://dl.hhvm.com/$(lsb_release --id --short | tr '[: upper:]' '[: lower:]') $ (lsb_release - кодовое имя --short) -major.minor main "

Итак, чтобы получить HHVM 4.56, вы должны использовать
apt-add-repository "deb https: // dl.hhvm.com/$(lsb_release --id --short | tr '[: upper:]' '[: lower:]') $ (lsb_release --codename --short) -4.56 main ""

Вы автоматически получите такие исправления, как HHVM 4.56.1, но не будете обновлены до HHVM 4.57 и выше.

Если вы получаете сообщение об ошибке HTTP 404 от apt, проверьте, поддерживает ли версия hhvm, которую вы пытались установить, вашу операционную систему в блоге.

Конкретная версия примечания — hhvm 3.30. Это требует дополнительного -lts после младшего номера версии.Эта версия не поддерживается по состоянию на ноябрь 2019 года и не должна использоваться.
apt-add-repository "deb https://dl.hhvm.com/$(lsb_release --id --short | tr '[: upper:]' '[: lower:]') $ (lsb_release --codename --короткий) -3.30-лтс основной »

Выбор версии

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

Если у вас есть существующий проект, вы можете обновлять по одному выпуску за раз, используя блог, чтобы узнавать о критических изменениях.4.56 «. Если нет, проверьте последний раз, когда была сделана фиксация, и узнайте, какая версия HHVM была последней на тот момент, используя блог.

Что бы вы ни делали, убедитесь, что выбранная вами версия HHVM получает обновления безопасности. Блог проинформирует вас о поддерживаемых версиях.

Другие пакеты

Все приведенные выше команды устанавливают стандартный пакет hhvm , который является стабильной конфигурацией выпуска. У нас также есть несколько других пакетов, доступных в репо:

  # Стабильная отладочная сборка, подходящая для отладчиков, таких как gdb
apt-get install hhvm-dbg

# Стабильный пакет разработчика, содержащий заголовки, чтобы вы могли создавать расширения и т. Д.apt-get install hhvm-dev

# Ночная сборка (жизнь на грани, каждый день перестраивается, возможно, нестабильно)
apt-get install hhvm-nightly

# Ночная сборка отладки
apt-get install hhvm-nightly-dbg

# Ночная сборка разработчика
apt-get install hhvm-dev-nightly

  

Установка ключа GPG: альтернативный метод

Если у вас возникли проблемы с командой apt-key adv , альтернативой является:

  apt-get install -y завиток
curl https://dl.hhvm.com/conf/hhvm.gpg.ключ | apt-key добавить -
apt-key finger '[email protected]'
  

«Отпечаток пальца», показанный apt-key finger (вторая строка), должен точно соответствовать 0583 41C6 8FC8 DE60 17D7 75A1 B411 2585 D386 EB94 ; например:

  $ apt-key finger '[email protected]'
pub rsa4096 03.11.2017 [SC]
      0583 41C6 8FC8 DE60 17D7 75A1 B411 2585 D386 EB94
uid [неизвестно] Подписание пакета HHVM 
  

Если это не так, запустите apt-key list , затем используйте apt-key del для удаления любых ключей, которые вы не узнаете.

Зеркала

dl.hhvm.com обслуживается глобальной CDN, поэтому должен работать быстро для всех пользователей. Если вы хотите поддерживать локальное зеркало, вы можете использовать утилиты AWS CLI для синхронизации:

  aws s3 синхронизация \
  --no-sign-request \
  --регион сша-запад-2 \
  s3: // hhvm-загрузки / \
  ./localpath/ \
  --exclude '* index.html'
  

Кроме того, Лаборатория открытого исходного кода Университета штата Орегон поддерживает зеркало, доступное
через HTTP, FTP и rsync по адресу https: //ftp.osuosl.org / pub / hiphop /.

Зеркало OSUOSL имеет ограниченное сохранение ночных сборок.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *