Запись для самого себя.
Вкратце — никак. Ну, или я так и не понял, как запустить Linux на RADEON HD 6310.
Что самое интересно, на Фре видяха завелась.
Запись для самого себя.
Вкратце — никак. Ну, или я так и не понял, как запустить Linux на RADEON HD 6310.
Что самое интересно, на Фре видяха завелась.
На NanoPi установил Webmin. Попытался зайти, как и всегда по адресу «192.168.ХХХ.ХХХ» и меня постигла неудача. Вебмин был запущен, но войти не мог. Выяснилось, ему нужен SSL — тоесть, заходить надо по тому же адресу, но с приставкой «https://». Выключил к чертовой матери в конфиге:
nano /etc/webmin/miniserv.conf ssl=0
Если поставить значение «1» — то вебмин будет требовать SSL.
Тут всё проще простого — добавяем в:
#ee /etc/rc.conf
Запись:
#sshd_enable="YES"
Все последующие действия применимы не только для резервного копирования в ручном режиме (автоматизации процесса коснемся позже), но и для переноса сайта с одного хостинга/сервера на другой.
Итак. Сервер у нас есть и работает. Сайты на нём работают, люди туда заходят, коменты пишут. Пора позаботится о важной процедуре — резервном копировании / backup’e.
Лучше всего конечно, что бы нам наш бэкап так и не пригодился 🙂
Вводные данные — web-сервер на FreeBSD, Apache, весь софт настроен и готов к бою.
Первый шаг — создание архива содержащего непосредственно сам сайт — файлы движка, .php и .html страницы. Архива рабочей директории апача — Document Root.
Для того, что бы понять, где она у нас, искомая директория прибегнем к конфигу Апача.
Для начала найдём его:
#find / -name httpd.conf #ee /usr/local/etc/apache24/httpd.conf
В открывшемся файле ищем строку:
#DocumentRoot "/usr/local/www/apache24/data"
Но помним, что директория может быть любая — я, например часто меняю на более удобную для себя. Если же мы используем Virtual Hosts (несколько доменов/сайтов на одном сервере), то не лишним будет заглянуть и сюда:
#ee /usr/local/etc/apache24/extra/httpd-vhosts.conf
Убедившись, что ничего не забыли, начинаем создавать архив:
#tar -cvf /usr/home/username/BACKUP.tar /usr/local/www/apache24/data
Теперь дело за малым: соединившись с нашим сервером по FTP скачиваем с него наш архив. О том, как настроить простейший FTP я писал здесь: http://sbin.su/?p=20
Осталась последняя задача — выгрузка баз данных. Это делается через веб-интерфейс PHPMyAdmin.
Снова заглядываем в конфиг Apache и ищем там алиас PHPMyAdmin:
#ee /usr/local/etc/apache24/httpd.conf
Выглядит как правило так:
# Alias /phpmyadmin "/usr/local/www/phpMyAdmin/"
Так что, ищем что-то похожее. Соответственно phpmyadmin доступен по адресу: www.vash-sayt.ru/phpmyadmin , где вместо vash-sayt.ru вам нужно вставить ваш домен.
Заходим, выбираем нужную нам базу и нажимаем «экспорт«.
Все. Начнётся скачивание файла с расширением .sql — базой данный вашего сайта.
That’s all, folks!
Возникла потребность создать выделенного пользователя FTP, ограниченного в правах папкой, где сайты лежат.
Манулов находил много, разных, но подходящего под ситуацию — нет. При действиях по чужим манулам, раз за разом натыкался на одни те же грабли — все работает, но файл загрузить нельзя: 550 permission denied.
Что сделал:
Создал шелл nologin-ftp.
# echo '/sbin/nologin-ftp' >> /etc/shells
# ln -s /usr/sbin/nologin /sbin/nologin-ftp
Добавим пользователя для FTP командой adduser. Ключевые параметры это login group и shell, выглядеть должно так:
#adduser Username: ftpuser Full name: Uid (Leave empty for default): Login group [ftpuser]: www Login group is test. Invite test into other groups? []: Login class [default]: Shell (sh csh tcsh zsh nologin-ftp nologin) [sh]: nologin-ftp Home directory [/home/ftpuser]: Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use a random password? (yes/no) [no]: Enter password: Enter password again: Lock out the account after creation? [no]: Username : test Password : **** Full Name : Test User Uid : 1001 Class : Groups : www Home : /home/ftpuser Shell : /usr/local/bin/nologin-ftp Locked : no OK? (yes/no): yes adduser: INFO: Successfully added (ftpuser) to the user database. Add another user? (yes/no): no Goodbye! #
Создаем файл /etc/ftpchroot и добавляем в него строку типа: name path.
Где name — имя пользователя, path — путь до директории, доступ к которой разрешен, например:
ftpuser /STORAGE/WWW
Далее сносим homedirectory созданного пользователя:
rm -rf /home/ftpuser
И финал — изменение прав доступа на папку с сайтом:
chmod -R 775 /STORAGE/WWW
А сейчас мы провернем установку FAMP (FreeBSD, Apache, MySQL, PHP) — краеугольный набор инструментов для любого сервера. За основу взят вот этот манул с сайта Лисяры. Про сайт хочу сказать отдельно: я не знаю, кто такой Лисяра, но мое уважение перед этим мужиком громадно: именно на его сайте я узнал большую часть вещей о UNIX и продолжаю черпать новое. А он все делится и делится. В общем — заходите к нему на сайт и читайте как можно больше. А тут я уже пишу во-первых конкретику, во-вторых с целью самообразования, ну и в-третьих как резервную копию. А Лисяра — крутой. Будьте как Лисяра 🙂
Итак — FreeBSD 11.0 x64, Apache 2.4 , MySQL 5.6, PHP 7.0, phpMyAdmin 4.6.4_1
С апачем всё просто:
# cd /usr/ports/www/apache24
# make install clean
В всплывающем конфиге я ничего не трогал, все значения оставил по-умолчанию. Но в последующих всегда искал глазами а включал MySQL support (возможны вариации) — поддержку MySQL баз данных, работать в последствии мы будем именно с ними. Но гладко было на бумаге, мы забыли про овраги — система начала безбожно ругаться на меня:
1 problem(s) in the installed packages found. => Please update your ports tree and try again. => Note: Vulnerable ports are marked as such even if there is no update available. => If you wish to ignore this vulnerability rebuild with 'make DISABLE_VULNERABILITIES=yes'
# portsnap fetch update # rehash
make: getcwd: No such file or directory.
# cd /usr/ports/www/apache24
# make install clean
После того, как апач установился, пропишем в файл /etc/rc.conf следующее:
# ee /etc/rc.conf # apache24_enable="YES" # mysql_enable="YES"
# ee /usr/local/etc/apache24/httpd.conf
Начинаем установку мускула:
# cd /usr/ports/databases/mysql56-server/ # make install clean
Так как мы установливаем более новую версию (5.6) то и процесс установки у нас будет чуточку проще. Сразу после установки делаем:
# /usr/local/etc/rc.d/mysql-server onestart
# mysql_secure_installation
Этот расчудесный скрипт запустит сценарий доустановки мускула. Отвечаем на все вопросы утвердительно и назначаем новый пароль root‘у мускула. !!!!Внимание!!!! — root мускула не одно и тоже что и системный! Но пароль запомнить, в дальнейшем он нам пригодится. Создаем файл, куда мускул будет писать логи и даем ему доступ на него же:
# touch /var/log/mysql.log # chown mysql:mysql /var/log/mysql.log
Создаем конфигурацию мускула:
# touch /usr/local/etc/my.cfg # ee /usr/local/etc/my.cfg
И вписываем в неё следующее:
[mysqld]
log = /var/log/mysql.log
Переходим к следующей главе:
Попробуем установить новомодный PHP 7.0. И так же как и прежде, здесь и далее везде где можно включаем поддержку MySQL и Apache.
# cd /usr/ports/lang/php70/ # make install clean
После этого устанавливаем расширения PHP:
# cd /usr/ports/lang/php70-extensions/ # make install clean
Далее — модуль сопряжения PHP и Apache:
# cd /usr/ports/www/mod_php70/ # make install clean
И PHPMyAdmin:
# cd /usr/ports/databases/phpmyadmin # make install clean
Все. Установка на этом всё. Впереди — самый длительный процесс: настройка, допиливание под себя, запуск, маты и проклятья, отладка и снова запуск.
Начинаем с апача. Основной конфиг у апача один:
/usr/local/etc/apache24/httpd.conf
С него и начнем. Рассмотрим основные параметры которые порой приходится менять:
ServerRoot — определяет директорию, куда установлен сам апач. В 99% случаев как стоит по-умолчанию, так трогать и не надо.
Listen — определяет, какой порт будет «слушать» наш веб-сервер. Полезно, если машина используется для чего-то еще — с помощью маршрутизатора можно например настроить переадресацию входящих запросов с 80 на 500 (например) порт. В таком случае сюда надо будет выставить тоже 500 порт. Но — если вы только начинаете — оставьте это значение по умолчанию. Лучше не трогать — хай работает. По-умолчанию 80.
User\Group — по умолчанию www оба поля. Определяет, от какого пользователя и группы будет работать веб-сервер. Не трогаем.
ServerAdmin — почтовый адрес, куда сервер будет слать письма в случае проблем. И вообще контакты админа.
ServerName — наш домен. Но чаще всего срабатывает автоопределение, а вот конфликты бывают. Лучше оставить как-есть.
DocumentRoot — та папка в которой будет лежать наш сайт. Можете назначить любую папку, только не забудьте ее создать на диске и назначить владельцем пользователя www.
Теперь приступим к настройке апача вплотную. Создаем папку, где у нас будет храниться сам сайт:
# mkdir /DATA # mkdir /DATA/WWW # chown -R www:www /DATA/WWW
И начинаем уже обстоятельно править конфигурациооный файл /usr/local/etc/apache24/httpd.conf :
Сразу под ServerRoot вставляем алиас для phpMyAdmin, держать его постоянно включенным я не захотел, поэтому у меня два блока. Когда требуется включение пхпмайадмин, я снимаю комментарии в нужной части, и закрываю комментариями ненужную. Выглядит так:
# # # PHPMyAdmin # # Alias /pma "/usr/local/www/phpMyAdmin/" # !!! ON !!! # <Directory "/usr/local/www/phpMyAdmin/"> # Options none # AllowOverride Limit # Order Deny,Allow # Require all granted # </Directory> # !! OFF !! <Directory "/usr/local/www/phpMyAdmin/"> Options none AllowOverride Limit Order Deny,Allow Deny from all </Directory>
Соответственно по адресу wash-sayt.ru/pma и будет открываться приветственное окно майадмина.
Теперь надо научить апач открывать пхп файлы, приводим конфиг к такому виду:
# # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # <IfModule dir_module> DirectoryIndex index.html index.php index.htm </IfModule>
В блок <IfModule mime_module> добавим информацию о PHP:
<IfModule mime_module>
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
#
TypesConfig etc/apache24/mime.types
#
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz
#
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
#AddHandler cgi-script .cgi
# For type maps (negotiated resources):
#AddHandler type-map var
#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
</IfModule>
Далее — создадим конфиг php.ini на базе готового:
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
На этом базовые настройки закончены. Допиливание phpMyAdmin будет здесь же, но в последующих редакциях.
Использовал вот этот гайд. На всякий случай дублирую:
В /etc/rc.conf вписываем:
ftpd_enable=»YES»
ftpd_flags=»-D -l»
После перезагрузки запустится ftpd. Если ftpd нужен здесь и сейчас, то:
# /usr/libexec/ftpd -D -l
portsnap fetch extract — Разворачиваем дерево портов.
rehash — обновление csh, делается после каждой установки.
portsnap fetch update — Обновляет дерево портов
whereis mc — «Где MC?» — команда даст вывод с адресом порта Midnight Commander — идем по адресу вывода и делаем:
make install clean — скомпилируем mc.
whereis fish — фиш, довольно годный шелл для тех, кому не люб csh
make install clean
whereis webmin управление сервером через веб-морду в браузере. Удобно, чо.
make install clean
whereis usermin
rehash