Установка Raspbian на Raspberry pi Прежде всего у вас должен быть карт ридер, чтобы загрузить на SD карту операционную систему Raspbian. По сути это тот же Debian но с адаптацией под Raspberry pi. Я бы советовал использовать решение из коробки, с автоматическим установщиком нужной OC на карту памяти. В специальном руководстве для новичков, вы можете узнать как ее установить. Если коротко, то вам необходимо отформатировать вашу карту в формате FAT программой SD Formatter, скачать автоматический установщик, выбрать OC и дождаться ее загрузки на карту. В нашем случаи это будет Raspbian. Первый запуск Raspberry pi При первом запуске Вам понадобиться монитор с выходом на hdmi (либо переходником) и клавиатура. Подключить вы их сможете через USB порты вашего raspberry. Далее вставьте карту памяти в Raspberry pi и подключите блок питания к устройству. Чуть не забыл про LAN кабель, его тоже следует подключить, а иначе у устройства не будет доступа к интернету. Если все сделано правильно, то после включения Вы увидите много бегущего текста в конце которого предстанет меню конфигурации. Интерфейс Raspi-config Расширяем память SD карты Первым делом управляя клавиатурой, переходим к пункту Expand Filesystem и тем самым расширяем свободное место хранения файлов на SD карте. Но если вы использовали автоматический загрузчик, а не монтировали образ в ручную, то этот пункт можно проигнорировать. Меняем пароль пользователя Далее рекомендуется поменять пароль пользователя Change User Password, вам будет предложено ввести новый пароль 2 раза. Не ошибитесь с раскладкой. Логин и пароль по умолчанию: pi/raspbian Добавляем русский язык Переходим в пункт Internationalisation Options и в нем выбираем Change Locale в открывшемся списке опуститесь до пункта ru_RU.UTF-8 UTF-8 и нажмите пробел, тем самым выбрав Русский язык. Далее кнопкой Tab переключитесь на пункт Ok чтобы сохранить изменения. Дополнительные настройки Перейдите к пункту Advanced Options он раскроет перед вами список дополнительных настроек где необходимо внести еще 2 изменения. Hostname (не обязательно) Чтобы сменить имя хоста, нажмите на Hostname и впишите свое название сервера. Например: pedanto.com Включение SSH Также вам необходимо включить SSH для работы с командной строкой через putty делается это там же в дополнительных настройках. Сохранение изменений После того как вы внесли все изменения, выберите пункт , ваш raspberry будет перезагружен и все изменения вступят в силу. Снова открыть консоль настроек можно используя команду: sudo raspi-config Настройка роутера и сети Чтобы наше устройство было видно извне мы должны получить свой статический внешний IP адрес. Купить его можно у провайдера и как правило он не стоит больше доллара в месяц. В противном случаи на Ваши сайты заходить сможете только Вы. Узнаем IP адрес на котором висит Raspberry Далее нужно узнать какой сетевой IP был назначен роутером для Raspberry. В консоли нужно прописать соответствующую команду hostname -I Позволяет узнать на каком IP у роутера висит Raspberry Узнаем IP роутера Обычно IP адрес роутера такой: http://192.168.1.1, но в моем случаи он выглядит так miwifi.com Чтобы узнать адрес наверняка, переверните Ваш роутер и посмотрите на наклейку снизу. Там как правило есть вся необходимая информация. Логин и пароль всех роутеров по умолчанию: admin/admin Открытие 80 порта В настройках роутера, вам необходимо задать правило проброса портов. Дело в том что у вас есть 2 IP адреса, внешний (который выделил провайдер) и внутренний (который выделил роутер вашему raspberry) и ваша задача сделать так, чтобы при обращении кого-либо в интернете на ваш внешний IP адрес, роутер понимал информацию с какого внутреннего IP необходимо отображать. В http протоколе используется 80 TCP порт, поэтому необходимо сделать port forwarding в Вашем роутере. Я понимаю что роутеры у всех разные, поэтому изучите настройки своего и найдите аналогичное меню. У меня это выглядит так: После этого при обращении на ваш внешний IP посетитель будет получать данные генерируемые вашим Raspberry pi. Но пока он у нас нечего не генерирует, и сейчас мы это будем исправлять. Подключаемся по SSH Вы конечно можете продолжать использовать монитор и клавиатуру для работы с Вашим raspberry pi, но я предпочитаю вводить все команды удаленно через putty, так как клавиатура и монитор у меня всего одни, и без них мой основной компьютер не работает как следует Для подключения к Putty используйте внутренний IP вашего Raspberry, и в целях безопасности не советую открывать доступ к консоли извне. После того как откроется консоль вас попросит ввести логин и пароль от Raspberry, по умолчанию это: pi/raspbian, но вы наверняка уже поменяли пароль при настройке, которую мы делали выше вот и используйте его. Интерфейс консоли выглядит так, привыкайте: Теперь наш Raspberry будет получать все необходимые задания удаленно через консоль. И первым таким заданием станет установка WEB сервера ajenti на raspberry pi. Установка Ajenti через Putty Используя Putty пишем следующую команду sudo -s Это переключит нас в режим root и избавит от лишних подтверждений во время установки. Далее нам следует установить базовую панель Ajenti wget -O- https://raw.github.com/ajenti/ajenti/1.x/scripts/install-debian.sh | sh Дождитесь завершения установки и после выполнения перезагрузите ajenti service ajenti restart После этого устанавливаем Web модуль Ajenti, без него мы не сможем управлять сайтами в панели apt-get install ajenti-v ajenti-v-nginx ajenti-v-mysql ajenti-v-ftp-pureftpd ajenti-v-php-fpm php5-curl По окончанию, снова перезагружаем Ajenti service ajenti restart Не забываем про необходимые компоненты работы с изображениями и БД apt-get install php5-mysql imagemagick php5-imagick php5-gd И опять перезагрузка (на всякий случай) service ajenti restart Полное удаление Apache (если он установлен) Так как Ajenti яростно не дружит с Apache его следует не просто отключить, а полностью удалить с сервера, ибо он может вызывать конфликты из за которых сайты не будут работать должным образом. Даже если вам кажется что он у вас не установлен, лучше проделайте эту процедуру. Первым делом останавливаем Apache sudo service apache2 stop После подчищаем все его компоненты sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common sudo apt-get autoremove --purge sudo rm -Rf /etc/apache2 /usr/lib/apache2 /usr/include/apache2 Перезагружаем сервер sudo reboot Вот и все! Сервер полностью готов к эксплуатации, и теперь можно приступить к добавлению сайта в панель управления. Интерфейс панели управления Ajenti Попасть в панель Ajenti вы можете по адресу, который роутер назначил вашему Raspberry Pi. В моем случаи адрес https://192.168.31.139:8000/ Обратите внимание на протокол https в начале, и порт 8000 в конце, это важно! Браузер Chrome будет ругаться что Ваше подключение не защищено, проигнорируйте это сообщение. При входе Ajenti потребует ввод пароля. Пароль к Ajenti умолчанию: root/admin В дальнейшем вы можете поменять пароль в настройках Ajenti. Рассмотрим органы управления панели Ajenti и как с ней взаимодействовать чтобы сайты работали безотказно. Раздел Веб-сайты Если Вы правильно установили ajenti, то в панели управления слева появится категория "WEB", c пунктом меню "Веб-сайты". Управление доменами и сайтами сервера происходит здесь. Проверяем конфигурацию Чтобы убедится что Ajenti настроена правильно, в панели "Проверка Конфигурации" нажмите кнопку Обновить. У вас должна получится следующая картина. Если хоть один сервис выдаст ошибку - сайт не запустится! Убедитесь что Apache отсутствует в этом списке. Добавление сайта Придумайте название сайту, или впишите домен и нажмите кнопку создать. В списке появится сайт, а справа кнопка "Управление", нажав на нее мы попадем на страницу конфигурации сайта. Страница управления сайтом Здесь настраиваются домены, обработчик PHP, nginx конфиг (аналог .htaccess), базы данных, FTP и папка установки файлов сайта. Общие Чтобы создать папку хранения файлов сайта, указываем путь и нажимаем на кнопку "задать", после чего нажмите на кнопку, "создать папку". Исправление прав не требуется. Чтобы сайт стал доступен из браузера, не забудьте снять галочку с "режим обслуживания". Домены Пропишите варианты обращения к сайту, без www и с ним. Поддомены для форума и прочие указываются тоже здесь. Содержимое Здесь настраиваем php обработку. Для этого напротив PHP FastCGI нажмите создать. В появившемся разделе PHP прописываются значения php.ini. Советую сразу же вписать туда следующий код. open_basedir = none; upload_max_filesize = 100M; post_max_size = 100M; Это позволит загружать на серфер файлы размером до 100 мегабайт. Расширенные Здесь задается конфигурация nginx параметров. Что по сути альтернатива .htaccess файла на серверах с Apache. Чтобы конвертировать параметры htaccess в nginx при помощи специального сервиса. Деля это обратите внимание на обертку location, она не везде нужна. Советую добавлять код поэтапно. FTP и MySQL Тут создаем базу данных и пользователя FTP. Лайфхак: Чтобы создать одного пользователя FTP для нескольких сайтов в одном каталоге, создайте пользователя на новом сайте (можно без домена) с указанием пути к нему. Сохранение параметров Для сохранения параметров сайта, нажмите "Применить изменения" внизу. Если домен правильно настроен, то перейдя по адресу в браузере Вы увидите ошибку 403, 404, или 503 в случаи если галочка с "режима обслуживания" не снята. Если так, значит сайт настроен правильно! Первоисточник Настройка панели управления Ajenti - Публикации на Pedanto
Я бы посоветовал для внутресетевого сервака вот этот мануал Малина Pi 3 NGINX: Создайте собственный веб-сервер