Что нужно знать о хостинге сайтов на Linux (Ubuntu )

Хотелось бы поделиться своим опытом переноса сайтов на Linux VPS-хостинг. Главной причиной переезда с Windows Server для меня послужила крайне низкая скорость работы тяжелых систем управления контетом — WordPress и Joomla на сервере IIS в среде Windows Server. Конкретный Linux- хостинг — DigitalOcean, но инструкции будут применимы к любой системе Ubuntu.

Специально для того, чтобы убедиться, что инструкций в статье будет достаточно я создал новый дроплет с Ubuntu 12.10 X64 Desktop. Конечно же, тут кто-то тут же потянется за помидорами по поводу установки десктопной версии, но если мы не собираемся поднимать сто экземпляров нашего супер-масштабируемого и высоконагруженного приложения, то гораздо проще и удобнее поставить десктопную версию. Как минимум, мы получаем полноценный браузер и что-то похожее на Total Commander (Double Commander).
Хотя DigitalOcean предоставляет возможность предустановить необходимые приложения, для учебных целей разворачиваем чистую систему.

Первым делом устанавливаем веб-сервер apache

sudo apt-get install apache2
После этого должен заработать сервер по адресу localhost, а также по внешнему адресу нашего виртуального сервера.

Устанавливаем PHP сразу с модулем curl, который часто требуется.
sudo apt-get install php5 libapache2-mod-php5 php5-curl
Читать далее Что нужно знать о хостинге сайтов на Linux (Ubuntu )

Автоматическое разрешение зависимостей в Ubuntu

При всем удобстве системы пакетов в Linux очень часто ей не хватает возможности при установке загружать зависимости пакета автоматически. Средство auto-apt позволяет разрешать зависимости автоматически по имеющейся базе данных зависимостей.
sudo apt-get install auto-apt
Для того, чтобы скачать файлы с данными о зависимостями необходимо выполнить следующую команду:
sudo auto-apt update

Далее необходимо обработать скачанную базу. Сразу скажу, что процессы скачивания и подготовки базы занимают очень много времени.
sudo auto-apt updatedb && sudo auto-apt update-local

Теперь при запуске конфигурирования сборки приложения можно пользоваться инструментом auto-apt и автоматически устанавливать дополнительные зависимости следующим образом:
sudo auto-apt run ./configure
Например, при конфигурирования pocketsphinx мы увидим следующий запрос на установку universe/utils/safe-rm:

Теперь достаточно нажимать Y вместо изнурительного поиска пакетов и повторного запуска ./configure.

Поиск определенного пакета по имени файла

Кроме того, существует утилита apt-file, которая позволяет по имени отсутствующего файла узнать имя пакета, который нужно доустановить.
sudo apt-get install apt-file
sudo apt-file update
apt-file search file missed.bin

В предыдущем листинге мы установили apt-file и запустили поиск пакета, который содержит файл missed.bin.

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