Мануал этот — полностью отсебятина, по-моему ничего не забыл. На момент написания версия FreeBSD 8.2
Создаём нового пользователя
adduser
И заполняем необходимые поля (пока так), не забываем добавить его в группу wheel чтобы он мог выполнять sudo
те поля, что не знаете как заполнить — оставлять по умолчанию.
Делаем резервную копию файла автозапуска
cp /etc/rc.conf /etc/rc.conf.bak
начинаем его редактировать
ee /etc/rc.conf
добавляем строку, которая будет запускать демон sshd при старте системы
sshd_enable=”YES”
КАК НАСТРОИТЬ ПОДКЛЮЧЕНИЕ ПО SSH для Root в среде FreeBSD
Для начала делаем резервную копию файла конфига sshd:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
теперь редактируем сам конфиг
ee /etc/ssh/sshd_config
Раскомментируем строки
Port 22
PasswordAuthentication yes
PermitEmptyPasswords no
запускаем службу sshd
/etc/rc.d/sshd start
Обновляем порты:
portsnap fetch extract
Перейдем к установке sudo из портов FreeBSD. Выполняем:
cd /usr/ports/security/sudo
Устанавливаем:
make install clean
После того как встало, редактируем файлик конфигурации:
ee /usr/local/etc/sudoers
подробнее про установку прав в sudoers можно почитать на сайте http://www.nibbl.ru/freebsd/sudo
Создание каталога для исходниковft
mkdir -p /usr/local/src
-p <- этот параметр создаёт недостающие каталоги по пути к конечному
Переходим в созданную директорию
cd /usr/local/src
Скачиваем proftpd исходник
fetch ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.4a.tar.gz
Распаковываем
tar xfz proftpd-1.3.4a.tar.gz
Переходим в директорию куда распаковались исходники
cd proftpd-1.3.4a
Запускаем конфигурирование
./configure
Запускаем компиляцию
make
Запускаем установку в директории
make install clean
Создаём группу для proftpd
pw groupadd ftp
Создаём пользователя для proftpd
pw useradd ftp -c “FTP Server” -d /dev/null -g ftp -s /sbin/nologin
-c создаёт комментарий
-d домашняя директория пользователя /dev/null — её нету
-g группа, к которой будет принадлежать пользователь
-s шелл, /sbin/nologin не позволит залогиниваться под этим пользователем
указываем что нужно запускать proftpd при старте системы
ee /etc/rc.conf
добавляем строчку
proftpd_enable=”YES”
редактируем конфиг proftpd
ee /usr/local/etc/proftpd.conf
находим строки
User nobody
Group nogroup
изменяем на
User ftp
Group ftp
Сделаем чтобы каждый пользователь мог попадать в свою домашнюю директорию при подключении — раскомментируем
#DefaultRoot ~
меняем на
DefaultRoot ~
в файл /etc/shells добавляем строчку чтобы не могли логиниться по ssh фтп-пользователи
/ftponly
создаём директорию для нового пользователя
mkdir -p /home/test
создаём пользователя для доступа по фтп
pw user add test -s /ftponly -d /home/test
меняем владельца каталога пользователя, чтобы он мог туда записать файлы
chown test:test /home/test
где 1-ый test — логин
test после знака двоеточия — группа пользователя (как и везде в никсах).
задаём созданному пользователю пароль
passwd test
запускаем сервер proftpd
/usr/local/sbin/proftpd
Сервер может выдать ошибку о том, что не может определить IP адрес для localhost.localdomain (или другого доменного имени вашей машины), для этого мы просто пропишем его в файле /etc/hosts
ee /etc/hosts
дописываем строку
нужный айпи (например 127.0.0.1) имя_хоста.имя_домена, например
127.0.0.1 localhost.localdomain
но если установлен на адрес 127.0.0.1, то из внешнего мира виден сервер не будет. поэтому я например сделал так:
myvhost.localdomain 192.168.32.132 (это айпи этой машины, на которой крутится бсд)
УСТАНОВКА ВЕБ СЕРВЕРА APACHE
переходим в директорию для исходников
cd /usr/local/src
запускаем скачивание
fetch http://apache.strygunov.com//httpd/httpd-2.2.21.tar.gz
http://mirrors.besplatnyeprogrammy.ru/apache//httpd/httpd-2.2.21.tar.gz
tar xfz httpd-2.2.21.tar.gz
cd httpd-2.2.21
ee apache.sh
добавляем строки для конфигурирования
./configure -prefix=/usr/local/apache2
-enable-so
-with-mpm=prefork
make
make install clean
сохраняемся, запускаем ./apache.sh
Добавляем демон httpd в автозагрузку
ee /etc/rc.conf
apache_enable=”YES”
Создаём группу и пользователя от имени которго будет запущен apache.
pw groupadd apache
pw useradd apache -c “Apache Server” -d /dev/null -g apache -s /sbin/nologin
ee /usr/local/apache2/conf/httpd.conf
User daemon
Group daemon
изменяем на
User apache
Group apache
для нормальной установки PHP требуется библиотеки mysql-client
mysql устанавливаем из портов:
cd /usr/ports/databases/mysql51-server
make install clean
ee /etc/rc.conf
Прописываем в /etc/rc.conf следующие строчки для автоматического запуска mysql-сервера
mysql_enable=”YES”
Создаём таблицы
cd /usr/local; mysql_install_db
Присваиваем каталогу с базами данных mysql права пользователя mysql
chown -R mysql:mysql /usr/home/mysql
запускаем мускл-сервер
/usr/local/etc/rc.d/mysql-server start
Устанавливаем базовый пароль на рута
mysqladmin -u root password ‘p@$$w0rd’
подключаемся к мускл-серверу
mysql -p
создаём базу данных
create database test_wp;
создаём пользователя и даём ему все привелегии на эту базу данных
GRANT ALL PRIVILEGES ON test_wp.* TO ‘test_user_wp’@’localhost’ IDENTIFIED BY ‘TeST1234’ WITH GRANT OPTION;
Дальше устанавливаем сам PHP
fetch http://ua2.php.net/get/php-5.3.8.tar.gz/from/this/mirror
tar xfz
cd php-5.3.8.tar.gz
ee php.sh
./configure —prefix=/usr/local/php5
-with-mysql=/usr/local
-with-apxs2=/usr/local/apache2/bin/apxs
sh php.sh
make
make install
Редактируем конфиг апача
Изменяем
DirectoryIndex index.html index.php
добавляем тип пхп
AddHandler php5-script .php
AddType text/html .php
AddType application/x-httpd-php-source phps
раскоментируем
include conf/extra/httpd-vhosts.conf
закомментируем все <Directory …>
И пишем свой
<Directory />
Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all
</Directory>
That’s all folks!