Скрипт автоматической установки типового веб-сервера на FreeBSD
July 5th, 2009
Задача: в автоматическом режиме установить основное ПО необходимое для работы веб-сервера: nginx/Apache/PHP/MySQL/vsftpd.
Скачать скрипт целиком
#!/bin/sh
### ver. 0.92 from 7.07.2009
### No need change in this script ###
os=`uname -a |grep -c FreeBSD`
if [ $os = "0" ]; then
echo "This script work only on FreeBSD. Exit."
exit
fi
echo "Enter username to create (default, admin):"
read USER
echo "This host is VPS? (yes/no. Default, no):"
read thisvps
if [ -z $USER ]; then
USER=admin
fi
if [ -z $thisvps ]; then
thisvps=no
fi
confighost=unix-notes.ru
USERPASS=`< /dev/urandom tr -dc A-Za-z0-9 | head -c15`
SQLPASS=`< /dev/urandom tr -dc A-Za-z0-9 | head -c15`
thiswebazilla=`uname -a | grep -c "webazilla"`
echo "WITHOUT_X11=yes" >> /etc/make.conf
echo "WITHOUT_IPV6=yes" >> /etc/make.conf
echo "WITHOUT_SAMBA=yes" >> /etc/make.conf
echo 'fsck_y_enable="YES"' >> /etc/rc.conf
echo 'icmp_drop_redirect="YES"' >> /etc/rc.conf
echo 'accounting_enable="YES"' >> /etc/rc.conf
echo 'syslogd_flags="-ss"' >> /etc/rc.conf
echo 'tcp_drop_synfin="YES"' >> /etc/rc.conf
echo 'tcp_restrict_rst="YES"' >> /etc/rc.conf
echo 'apache2_enable="YES"' >> /etc/rc.conf
echo 'mysql_enable="YES"' >> /etc/rc.conf
echo 'mysql_dbdir="/home/mysql"' >> /etc/rc.conf
echo 'nginx_enable="YES"' >> /etc/rc.conf
echo 'vsftpd_enable="YES"' >> /etc/rc.conf
# check to exist homedir
if [ ! -d /home ]; then
echo "/home is no exist! setup canceled."
exit
fi
# add additional dns servers, OpenDNS
echo "nameserver 208.67.222.222" >> /etc/resolv.conf
mkdir /root/.ssh
cd /root/.ssh
fetch http://$confighost/config/ssh/egor-pentarh/authorized_keys
chown -R root /root
chmod -R 400 /root
if [ $thisvps = "no" ]; then
cd /etc
rm -f /etc/sysctl.conf
fetch http://$confighost/config/freebsd/sysctl.conf
/etc/rc.d/sysctl restart
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
ntpdate pool.ntp.org
echo "1 1 * * * root ntpdate pool.ntp.org" >> /etc/crontab
fi
if [ $thisvps = "yes" ]; then
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
fi
freebsd-update fetch
freebsd-update install
portsnap fetch
portsnap extract
portsnap update
make WITHOUT_SAMBA=yes -DBATCH -C /usr/ports/misc/mc install clean
make WITH_RC_NG=yes -DBATCH -C /usr/ports/ftp/vsftpd install clean
make WITHOUT_IPV6=yes -DBATCH -C /usr/ports/www/apache20 install clean
make WITH_CHARSET=utf8 WITH_COLLATION=utf8_unicode_ci -DBATCH -C /usr/ports/databases/mysql51-server install clean
make WITH_APACHE=yes WITHOUT_IPV6=yes -DBATCH -C /usr/ports/lang/php5 install clean
make WITH_BUNDLED_PCRE=yes -DBATCH -C /usr/ports/devel/php5-pcre install clean
make WITH_MBSTRING=yes WITH_CURL=yes WITH_FTP=yes WITH_GD=yes WITH_MCRYPT=yes WITH_MYSQL=yes WITH_MYSQLI=yes WITH_OPENSSL=yes WITH_SOCKETS=yes WITH_ZLIB=yes -DBATCH -C /usr/ports/lang/php5-extensions install clean
make -DBATCH -C /usr/ports/www/mod_geoip2 install clean
make WITH_HTTP_FLV_MODULE=yes -DBATCH -C /usr/ports/www/nginx install clean
make -DBATCH -C /usr/ports/www/mod_rpaf2 install clean
make -DBATCH -C /usr/ports/devel/ZendOptimizer install clean
cd /usr/local/etc
rm -f /usr/local/etc/vsftpd.conf
fetch http://$confighost/config/linux/vsftpd.conf
chmod 400 /usr/local/etc/vsftpd.conf
cd /usr/local/etc/apache2/Includes
fetch http://$confighost/config/freebsd/mod_rpaf.conf
iplist=`ifconfig | grep inet | grep -v inet6 | awk '{print $2}' | grep -v '^$' | tr "\n" " "`
sed -I "" "s/127.0.0.1/$iplist/g" /usr/local/etc/apache2/Includes/mod_rpaf.conf
mkdir /var/log/httpd
chmod 777 /var/log/httpd
# Create user and setup user folders
pw user add $USER -d /home/$USER -m -s /sbin/nologin
echo "$USERPASS" |pw usermod $USER -h0
mkdir /home/$USER/domains
chmod -R 755 /home/$USER
chown -R $USER:www /home/$USER/domains
cd /home/$USER
fetch http://$confighost/config/freebsd/create_domain.sh
sed -I "" "s/testuser/$USER/g" /home/$USER/create_domain.sh
chmod +x /home/$USER/create_domain.sh
mkdir /usr/local/etc/apache2/vhosts
cd /usr/local/etc/apache2/vhosts
fetch http://$confighost/config/freebsd/sample
cd /home/$USER
fetch http://$confighost/config/freebsd/create_base.sh
sed -I "" "s/INSERTPASSHERE/$SQLPASS/g" /home/$USER/create_base.sh
chmod +x /home/$USER/create_base.sh
cd /home/$USER
fetch http://$confighost/config/freebsd/create_multi_bases.sh
sed -I "" "s/INSERTPASSHERE/$SQLPASS/g" /home/$USER/create_multi_bases.sh
sed -I "" "s/username/$USER/g" /home/$USER/create_multi_bases.sh
chmod +x /home/$USER/create_multi_bases.sh
cd /usr/local/etc/apache2
rm -f /usr/local/etc/apache2/httpd.conf
fetch http://$confighost/config/freebsd/httpd.conf
cd /usr/local/etc/
fetch http://$confighost/config/freebsd/php.ini
cd /usr/local/etc/nginx
rm -f /usr/local/etc/nginx/nginx.conf
fetch http://$confighost/config/freebsd/nginx.conf
iplist2=`ifconfig | grep inet | grep -v inet6 | awk '{print $2}' | grep -v '^$'|grep -v 127.0.0.1 | sed 's/\(.*\)/listen \1;/'`
sed -I "" "s/user_name/$USER/g" /usr/local/etc/nginx/nginx.conf
sed -I "" "s/IPADDR/$iplist2/g" /usr/local/etc/nginx/nginx.conf
mkdir /var/log/nginx/
chmod 777 /var/log/nginx/
mkdir /home/mysql
mkdir /home/mysql/tmp
chown -R mysql /home/mysql/
chmod -R 755 /home/mysql/
cd /etc
rm -f /etc/my.cnf
if [ $thisvps = "no" ]; then
fetch http://$confighost/config/freebsd/my.cnf
fi
if [ $thisvps = "yes" ]; then
fetch http://$confighost/config/freebsd/vps/my.cnf
fi
touch /var/log/mysqld.log
chmod 777 /var/log/mysqld.log
/usr/local/etc/rc.d/mysql-server start
/usr/local/bin/mysqladmin password $SQLPASS
echo "DELETE FROM mysql.user WHERE Password=''" | /usr/local/bin/mysql --password=$SQLPASS
/usr/local/etc/rc.d/apache2 start
/usr/local/etc/rc.d/nginx start
/usr/local/etc/rc.d/vsftpd start
echo "##############################"
echo "Setup ready!"
echo "FTP username: $USER"
echo "FTP password: $USERPASS"
echo "MySQL root password: $SQLPASS"
echo "##############################"
### ver. 0.92 from 7.07.2009
### No need change in this script ###
os=`uname -a |grep -c FreeBSD`
if [ $os = "0" ]; then
echo "This script work only on FreeBSD. Exit."
exit
fi
echo "Enter username to create (default, admin):"
read USER
echo "This host is VPS? (yes/no. Default, no):"
read thisvps
if [ -z $USER ]; then
USER=admin
fi
if [ -z $thisvps ]; then
thisvps=no
fi
confighost=unix-notes.ru
USERPASS=`< /dev/urandom tr -dc A-Za-z0-9 | head -c15`
SQLPASS=`< /dev/urandom tr -dc A-Za-z0-9 | head -c15`
thiswebazilla=`uname -a | grep -c "webazilla"`
echo "WITHOUT_X11=yes" >> /etc/make.conf
echo "WITHOUT_IPV6=yes" >> /etc/make.conf
echo "WITHOUT_SAMBA=yes" >> /etc/make.conf
echo 'fsck_y_enable="YES"' >> /etc/rc.conf
echo 'icmp_drop_redirect="YES"' >> /etc/rc.conf
echo 'accounting_enable="YES"' >> /etc/rc.conf
echo 'syslogd_flags="-ss"' >> /etc/rc.conf
echo 'tcp_drop_synfin="YES"' >> /etc/rc.conf
echo 'tcp_restrict_rst="YES"' >> /etc/rc.conf
echo 'apache2_enable="YES"' >> /etc/rc.conf
echo 'mysql_enable="YES"' >> /etc/rc.conf
echo 'mysql_dbdir="/home/mysql"' >> /etc/rc.conf
echo 'nginx_enable="YES"' >> /etc/rc.conf
echo 'vsftpd_enable="YES"' >> /etc/rc.conf
# check to exist homedir
if [ ! -d /home ]; then
echo "/home is no exist! setup canceled."
exit
fi
# add additional dns servers, OpenDNS
echo "nameserver 208.67.222.222" >> /etc/resolv.conf
mkdir /root/.ssh
cd /root/.ssh
fetch http://$confighost/config/ssh/egor-pentarh/authorized_keys
chown -R root /root
chmod -R 400 /root
if [ $thisvps = "no" ]; then
cd /etc
rm -f /etc/sysctl.conf
fetch http://$confighost/config/freebsd/sysctl.conf
/etc/rc.d/sysctl restart
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
ntpdate pool.ntp.org
echo "1 1 * * * root ntpdate pool.ntp.org" >> /etc/crontab
fi
if [ $thisvps = "yes" ]; then
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
fi
freebsd-update fetch
freebsd-update install
portsnap fetch
portsnap extract
portsnap update
make WITHOUT_SAMBA=yes -DBATCH -C /usr/ports/misc/mc install clean
make WITH_RC_NG=yes -DBATCH -C /usr/ports/ftp/vsftpd install clean
make WITHOUT_IPV6=yes -DBATCH -C /usr/ports/www/apache20 install clean
make WITH_CHARSET=utf8 WITH_COLLATION=utf8_unicode_ci -DBATCH -C /usr/ports/databases/mysql51-server install clean
make WITH_APACHE=yes WITHOUT_IPV6=yes -DBATCH -C /usr/ports/lang/php5 install clean
make WITH_BUNDLED_PCRE=yes -DBATCH -C /usr/ports/devel/php5-pcre install clean
make WITH_MBSTRING=yes WITH_CURL=yes WITH_FTP=yes WITH_GD=yes WITH_MCRYPT=yes WITH_MYSQL=yes WITH_MYSQLI=yes WITH_OPENSSL=yes WITH_SOCKETS=yes WITH_ZLIB=yes -DBATCH -C /usr/ports/lang/php5-extensions install clean
make -DBATCH -C /usr/ports/www/mod_geoip2 install clean
make WITH_HTTP_FLV_MODULE=yes -DBATCH -C /usr/ports/www/nginx install clean
make -DBATCH -C /usr/ports/www/mod_rpaf2 install clean
make -DBATCH -C /usr/ports/devel/ZendOptimizer install clean
cd /usr/local/etc
rm -f /usr/local/etc/vsftpd.conf
fetch http://$confighost/config/linux/vsftpd.conf
chmod 400 /usr/local/etc/vsftpd.conf
cd /usr/local/etc/apache2/Includes
fetch http://$confighost/config/freebsd/mod_rpaf.conf
iplist=`ifconfig | grep inet | grep -v inet6 | awk '{print $2}' | grep -v '^$' | tr "\n" " "`
sed -I "" "s/127.0.0.1/$iplist/g" /usr/local/etc/apache2/Includes/mod_rpaf.conf
mkdir /var/log/httpd
chmod 777 /var/log/httpd
# Create user and setup user folders
pw user add $USER -d /home/$USER -m -s /sbin/nologin
echo "$USERPASS" |pw usermod $USER -h0
mkdir /home/$USER/domains
chmod -R 755 /home/$USER
chown -R $USER:www /home/$USER/domains
cd /home/$USER
fetch http://$confighost/config/freebsd/create_domain.sh
sed -I "" "s/testuser/$USER/g" /home/$USER/create_domain.sh
chmod +x /home/$USER/create_domain.sh
mkdir /usr/local/etc/apache2/vhosts
cd /usr/local/etc/apache2/vhosts
fetch http://$confighost/config/freebsd/sample
cd /home/$USER
fetch http://$confighost/config/freebsd/create_base.sh
sed -I "" "s/INSERTPASSHERE/$SQLPASS/g" /home/$USER/create_base.sh
chmod +x /home/$USER/create_base.sh
cd /home/$USER
fetch http://$confighost/config/freebsd/create_multi_bases.sh
sed -I "" "s/INSERTPASSHERE/$SQLPASS/g" /home/$USER/create_multi_bases.sh
sed -I "" "s/username/$USER/g" /home/$USER/create_multi_bases.sh
chmod +x /home/$USER/create_multi_bases.sh
cd /usr/local/etc/apache2
rm -f /usr/local/etc/apache2/httpd.conf
fetch http://$confighost/config/freebsd/httpd.conf
cd /usr/local/etc/
fetch http://$confighost/config/freebsd/php.ini
cd /usr/local/etc/nginx
rm -f /usr/local/etc/nginx/nginx.conf
fetch http://$confighost/config/freebsd/nginx.conf
iplist2=`ifconfig | grep inet | grep -v inet6 | awk '{print $2}' | grep -v '^$'|grep -v 127.0.0.1 | sed 's/\(.*\)/listen \1;/'`
sed -I "" "s/user_name/$USER/g" /usr/local/etc/nginx/nginx.conf
sed -I "" "s/IPADDR/$iplist2/g" /usr/local/etc/nginx/nginx.conf
mkdir /var/log/nginx/
chmod 777 /var/log/nginx/
mkdir /home/mysql
mkdir /home/mysql/tmp
chown -R mysql /home/mysql/
chmod -R 755 /home/mysql/
cd /etc
rm -f /etc/my.cnf
if [ $thisvps = "no" ]; then
fetch http://$confighost/config/freebsd/my.cnf
fi
if [ $thisvps = "yes" ]; then
fetch http://$confighost/config/freebsd/vps/my.cnf
fi
touch /var/log/mysqld.log
chmod 777 /var/log/mysqld.log
/usr/local/etc/rc.d/mysql-server start
/usr/local/bin/mysqladmin password $SQLPASS
echo "DELETE FROM mysql.user WHERE Password=''" | /usr/local/bin/mysql --password=$SQLPASS
/usr/local/etc/rc.d/apache2 start
/usr/local/etc/rc.d/nginx start
/usr/local/etc/rc.d/vsftpd start
echo "##############################"
echo "Setup ready!"
echo "FTP username: $USER"
echo "FTP password: $USERPASS"
echo "MySQL root password: $SQLPASS"
echo "##############################"

Почему апачь начинает слушать только 192.168.0.1 а не то что бы мне хотелось когда я меняю адрес. Второй вопрос почему апачь невидит ничего в док папке хоть просто хоть в /www. Воть. Расскажите если можно подробней.
Вообще то принято приводить свою последовательность действий и точное сообщение об ошибке, которое получается.
прошу прощения.
И так такая сказка по порядку.
установлена система через сеть с русского №2 сервера.
адрес в локалке у машины должен быть. 192.168.0.3
затем ничего не ставя на неё кроме ССАШ заливаю ваш скрипт и запускаю.
Работает, обновляется всё.
запустился и пошёл всё при старте пишет, что полный ОК
соответственно когда я раньше ставила себе Апач то я могла в локальной сети на любой машинке написать в браузере 192.168.0.3 и попадала на файлик индексный что лежал в сервер руут.
сейчас я туда его кладу и вижу тока 404 ошибку
когда пробую в апаче сменить адрес прослушиванья, то получается что, апачь при старте ругается и выставляет обратно 192.168.0.1
куда смотреть, где править?
ААА у меня истерика !!!! >.<
Не паникуйте, сейчас спокойно во всем разберемся
Для начала, в моей конфигурации апач висит на локалхосте (Listen 127.0.0.1:80), а на внешнем адресе слушает nginx.
Второе: если вы запускали скрипт по дефолту, то у вас должна быть папка /home/admin/domains. Она есть?
Третье: вы хотите попадать на сервер именно по IP-адресу или все-таки по доменному имени?
DПока в локальной сети всёравно.
Ну тоесть ему незачем смотреть во внешнюю сеть.
Это будет скоро но пока не сейчас.
папки нету.
Я дмаю что надо совсем пвсё по дэфолту с делать =(
А у вас задача то какая? Просто показывать содержимое папки через веб? И все?
Если так, то вам можно из моего скрипта оставить только установку апача и все.
Можете написать мне в аську – помогу. Номер отправил на почту.
С аськой сложно и почта то мужа.
Мне нужно поставить апачь
Мускуль.
и ПХП
будет стоять форум
и ворд пресс. им нужна база как я понимаю.
адальше как пойдёт.
Давайте тогда попробуем разобраться что сейчас у вас там творится.
Покажите
uname -a
df -H
ifconfig
sockstat |grep http
sockstat |grep nginx
ls -la /
ps auxww
А вообще, советую вам экспериментировать на виртуальной машине (VirtualBox, VMWare – что вам больше нравится). Там можно быстро откатывать изменения, экспериментировать, не боясь сломать и даже пустить в виртуалку кого-нибудь из интернета чтобы помогли с настройкой
ой…
боюсь что это только завтра.
Часиков через 10 напишу =)
Спасибо за помощь =)
Кстати письма я не получала =)
И так… надеюсь что влезит.
Итак, я всё переустановила.
Папка /home/admin/domains появилась но пустая.
Uname –a пишет:
FreeBSD webhost.local 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:48:17 UT C 2009 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
df –H пишет:
Filesystem Size Used Avail Capacity Mounted on
/dev/ar0s1a 520M 169M 309M 35% /
devfs 1.0k 1.0k 0B 100% /dev
/dev/ar0s1e 520M 14k 478M 0% /tmp
/dev/ar0s1f 72G 1.1G 65G 2% /usr
/dev/ar0s1d 2.1G 91M 1.8G 5% /var
Ifconfig пишет:
em0: flags=8843 metric 0 mtu 1500
options=9b
ether ??.??.??.??.??.??
inet 192.168.0.3 netmask 0xffffff00 broadcast 192.168.0.255
media: Ethernet autoselect (1000baseT )
status: active
fxp0: flags=8802 metric 0 mtu 1500
options=2009
ether ??.??.??.??.??.??
media: Ethernet autoselect (none)
status: no carrier
plip0: flags=8810 metric 0 mtu 1500
lo0: flags=8049 metric 0 mtu 16384
options=3
inet6 fe80::1%lo0 prefixlen 64 scopeid 0×4
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
sockstat |grep http пишет:
www httpd 1171 3 tcp4 127.0.0.1:80 *:*
www httpd 1170 3 tcp4 127.0.0.1:80 *:*
www httpd 1169 3 tcp4 127.0.0.1:80 *:*
www httpd 1168 3 tcp4 127.0.0.1:80 *:*
www httpd 1167 3 tcp4 127.0.0.1:80 *:*
admin httpd 1141 3 tcp4 127.0.0.1:80 *:*
sockstat |grep nginx пишет:
www nginx 981 5 tcp4 192.168.111.4:80 *:*
www nginx 981 6 stream -> ??
www nginx 981 8 stream -> ??
www nginx 981 10 stream -> ??
www nginx 981 13 stream -> ??
www nginx 980 5 tcp4 192.168.111.4:80 *:*
www nginx 980 6 stream -> ??
www nginx 980 7 stream -> ??
www nginx 980 8 stream -> ??
www nginx 980 11 stream -> ??
www nginx 979 5 tcp4 192.168.111.4:80 *:*
www nginx 979 6 stream -> ??
www nginx 979 7 stream -> ??
www nginx 979 8 stream -> ??
www nginx 979 9 stream -> ??
www nginx 978 5 tcp4 192.168.111.4:80 *:*
www nginx 978 6 stream -> ??
www nginx 978 7 stream -> ??
www nginx 978 9 stream -> ??
www nginx 978 10 stream -> ??
root nginx 977 5 tcp4 192.168.111.4:80 *:*
root nginx 977 6 stream -> ??
root nginx 977 7 stream -> ??
root nginx 977 8 stream -> ??
root nginx 977 9 stream -> ??
root nginx 977 10 stream -> ??
root nginx 977 11 stream -> ??
root nginx 977 12 stream -> ??
root nginx 977 13 stream -> ??
ls -la / пишет:
total 57
drwxr-xr-x 20 root wheel 512 Dec 21 15:20 .
drwxr-xr-x 20 root wheel 512 Dec 21 15:20 ..
-r——– 2 root wheel 798 Nov 21 17:57 .cshrc
-r——– 2 root wheel 265 Nov 21 17:57 .profile
drwxrwxr-x 2 root operator 512 Dec 21 12:55 .snap
-r–r–r– 1 root wheel 6206 Nov 21 17:57 COPYRIGHT
drwxr-xr-x 2 root wheel 1024 Nov 21 17:54 bin
drwxr-xr-x 8 root wheel 1024 Dec 21 13:09 boot
drwxr-xr-x 2 root wheel 512 Dec 21 12:55 cdrom
drwxr-xr-x 2 root wheel 512 Dec 21 12:55 cdrom1
lrwxr-xr-x 1 root wheel 10 Dec 21 13:57 compat -> usr/compat
dr-xr-xr-x 6 root wheel 512 Dec 22 12:23 dev
drwxr-xr-x 20 root wheel 2560 Dec 21 17:34 etc
lrwxr-xr-x 1 root wheel 8 Dec 21 15:20 home -> usr/home
drwxr-xr-x 3 root wheel 1536 Nov 21 17:55 lib
drwxr-xr-x 2 root wheel 512 Dec 21 13:09 libexec
drwxr-xr-x 2 root wheel 512 Nov 21 17:53 media
drwxr-xr-x 2 root wheel 512 Nov 21 17:53 mnt
dr-xr-xr-x 2 root wheel 512 Nov 21 17:53 proc
drwxr-xr-x 2 root wheel 2560 Nov 21 17:55 rescue
dr——– 4 root wheel 512 Dec 21 17:10 root
drwxr-xr-x 2 root wheel 2560 Nov 21 17:56 sbin
lrwxr-xr-x 1 root wheel 11 Nov 21 17:57 sys -> usr/src/sys
drwxrwxrwt 8 root wheel 512 Dec 22 12:23 tmp
drwxr-xr-x 17 root wheel 512 Dec 21 15:51 usr
drwxr-xr-x 24 root wheel 512 Dec 22 12:23 var
ps auxww пишет:
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 11 200.0 0.0 0 16 ?? RL 12:23PM 100:56.57 [idle]
root 0 0.0 0.0 0 56 ?? DLs 12:23PM 0:00.34 [kernel]
root 1 0.0 0.0 2912 508 ?? ILs 12:23PM 0:00.01 /sbin/init –
root 2 0.0 0.0 0 8 ?? DL 12:23PM 0:00.11 [g_event]
root 3 0.0 0.0 0 8 ?? DL 12:23PM 0:00.11 [g_up]
root 4 0.0 0.0 0 8 ?? DL 12:23PM 0:00.14 [g_down]
root 5 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [xpt_thrd]
root 6 0.0 0.0 0 8 ?? DL 12:23PM 0:00.01 [fdc0]
root 7 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [sctp_iterator]
root 8 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [pagedaemon]
root 9 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [vmdaemon]
root 10 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [audit]
root 12 0.0 0.0 0 152 ?? WL 12:23PM 0:03.57 [intr]
root 13 0.0 0.0 0 8 ?? DL 12:23PM 0:00.16 [yarrow]
root 14 0.0 0.0 0 160 ?? DL 12:23PM 0:00.12 [usb]
root 15 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [pagezero]
root 16 0.0 0.0 0 8 ?? DL 12:23PM 0:00.01 [bufdaemon]
root 17 0.0 0.0 0 8 ?? DL 12:23PM 0:00.05 [syncer]
root 18 0.0 0.0 0 8 ?? DL 12:23PM 0:00.01 [vnlru]
root 19 0.0 0.0 0 8 ?? DL 12:23PM 0:00.03 [softdepflush]
root 20 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [flowcleaner]
root 607 0.0 0.1 3448 1140 ?? Is 12:23PM 0:00.00 /usr/sbin/moused -p /dev/ ums0 -t auto -I /var/run/moused.ums0.pid
root 624 0.0 0.1 1888 540 ?? Is 12:23PM 0:00.00 /sbin/devd
root 731 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [accounting]
root 762 0.0 0.1 3344 1224 ?? Is 12:23PM 0:00.01 /usr/sbin/syslogd -ss
root 878 0.0 0.1 3404 1244 ?? Is 12:23PM 0:00.00 /usr/local/libexec/vsftpd
root 977 0.0 0.3 4748 2684 ?? Is 12:23PM 0:00.00 nginx: master process /us r/local/sbin/nginx
www 978 0.0 0.3 4748 3412 ?? S 12:23PM 0:00.12 nginx: worker process (ng inx)
www 979 0.0 0.3 4748 3412 ?? S 12:23PM 0:00.12 nginx: worker process (ng inx)
www 980 0.0 0.3 4748 3412 ?? S 12:23PM 0:00.12 nginx: worker process (ng inx)
www 981 0.0 0.3 4748 3412 ?? I 12:23PM 0:00.00 nginx: worker process (ng inx)
root 1141 0.0 1.3 21480 13640 ?? Ss 12:23PM 0:00.18 /usr/local/sbin/httpd
root 1160 0.0 0.4 6676 3664 ?? Is 12:23PM 0:00.00 /usr/sbin/sshd
www 1167 0.0 1.3 21480 13660 ?? I 12:23PM 0:00.00 /usr/local/sbin/httpd
www 1168 0.0 1.3 21480 13660 ?? I 12:23PM 0:00.00 /usr/local/sbin/httpd
www 1169 0.0 1.3 21480 13660 ?? I 12:23PM 0:00.00 /usr/local/sbin/httpd
www 1170 0.0 1.3 21480 13660 ?? I 12:23PM 0:00.00 /usr/local/sbin/httpd
www 1171 0.0 1.3 21480 13660 ?? I 12:23PM 0:00.00 /usr/local/sbin/httpd
root 1172 0.0 0.3 6072 3336 ?? Ss 12:23PM 0:00.05 sendmail: accepting conne ctions (sendmail)
smmsp 1176 0.0 0.3 6072 3424 ?? Is 12:23PM 0:00.00 sendmail: Queue runner@00 :30:00 for /var/spool/clientmqueue (sendmail)
root 1182 0.0 0.1 3372 1360 ?? Is 12:23PM 0:00.01 /usr/sbin/cron -s
root 1340 0.0 0.4 9400 4352 ?? Is 1:02PM 0:00.06 sshd: iNeko [priv] (sshd)
iNeko 1343 0.0 0.4 9400 4380 ?? S 1:02PM 0:00.08 sshd: iNeko@pts/0 (sshd)
mysql 1000 0.0 0.1 3624 1532 v0- I 12:23PM 0:00.02 /bin/sh /usr/local/bin/my sqld_safe –defaults-extra-file=/home/mysql/my.cnf –user=mysql –datadir=/home/mysql – -pid-file=/home/mysql/webhost.local.pid
mysql 1133 0.0 3.3 301824 33740 v0- I 12:23PM 0:01.41 /usr/local/libexec/mysql d –defaults-extra-file=/home/mysql/my.cnf –basedir=/usr/local –datadir=/home/mysql – -log-error=/var/log/mysqld.log –pid-file=/home/mysql/webhost.local.pid
root 1260 0.0 0.1 3344 1160 v0 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v0
root 1261 0.0 0.1 3344 1160 v1 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v1
root 1262 0.0 0.1 3344 1160 v2 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v2
root 1263 0.0 0.1 3344 1160 v3 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v3
root 1264 0.0 0.1 3344 1160 v4 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v4
root 1265 0.0 0.1 3344 1160 v5 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v5
root 1266 0.0 0.1 3344 1160 v6 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v6
root 1267 0.0 0.1 3344 1160 v7 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v7
iNeko 1344 0.0 0.2 3624 1616 0 Is 1:02PM 0:00.01 -sh (sh)
root 1345 0.0 0.2 3804 1724 0 I 1:02PM 0:00.01 su
root 1346 0.0 0.3 5648 2852 0 S 1:03PM 0:00.11 _su (csh)
root 1473 0.0 0.1 3424 1152 0 R+ 1:13PM 0:00.00 ps auxww
webhost# clear
webhost# ps auxww
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 11 200.0 0.0 0 16 ?? RL 12:23PM 101:11.85 [idle]
root 0 0.0 0.0 0 56 ?? DLs 12:23PM 0:00.34 [kernel]
root 1 0.0 0.0 2912 508 ?? ILs 12:23PM 0:00.01 /sbin/init –
root 2 0.0 0.0 0 8 ?? DL 12:23PM 0:00.11 [g_event]
root 3 0.0 0.0 0 8 ?? DL 12:23PM 0:00.11 [g_up]
root 4 0.0 0.0 0 8 ?? DL 12:23PM 0:00.14 [g_down]
root 5 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [xpt_thrd]
root 6 0.0 0.0 0 8 ?? DL 12:23PM 0:00.01 [fdc0]
root 7 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [sctp_iterator]
root 8 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [pagedaemon]
root 9 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [vmdaemon]
root 10 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [audit]
root 12 0.0 0.0 0 152 ?? WL 12:23PM 0:03.57 [intr]
root 13 0.0 0.0 0 8 ?? DL 12:23PM 0:00.16 [yarrow]
root 14 0.0 0.0 0 160 ?? DL 12:23PM 0:00.12 [usb]
root 15 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [pagezero]
root 16 0.0 0.0 0 8 ?? DL 12:23PM 0:00.01 [bufdaemon]
root 17 0.0 0.0 0 8 ?? DL 12:23PM 0:00.05 [syncer]
root 18 0.0 0.0 0 8 ?? DL 12:23PM 0:00.01 [vnlru]
root 19 0.0 0.0 0 8 ?? DL 12:23PM 0:00.03 [softdepflush]
root 20 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [flowcleaner]
root 607 0.0 0.1 3448 1140 ?? Is 12:23PM 0:00.00 /usr/sbin/moused -p /dev/ ums0 -t auto -I /var/run/moused.ums0.pid
root 624 0.0 0.1 1888 540 ?? Is 12:23PM 0:00.00 /sbin/devd
root 731 0.0 0.0 0 8 ?? DL 12:23PM 0:00.00 [accounting]
root 762 0.0 0.1 3344 1224 ?? Ss 12:23PM 0:00.01 /usr/sbin/syslogd -ss
root 878 0.0 0.1 3404 1244 ?? Is 12:23PM 0:00.00 /usr/local/libexec/vsftpd
root 977 0.0 0.3 4748 2684 ?? Is 12:23PM 0:00.00 nginx: master process /us r/local/sbin/nginx
www 978 0.0 0.3 4748 3412 ?? S 12:23PM 0:00.12 nginx: worker process (ng inx)
www 979 0.0 0.3 4748 3412 ?? S 12:23PM 0:00.12 nginx: worker process (ng inx)
www 980 0.0 0.3 4748 3412 ?? S 12:23PM 0:00.12 nginx: worker process (ng inx)
www 981 0.0 0.3 4748 3412 ?? I 12:23PM 0:00.00 nginx: worker process (ng inx)
root 1141 0.0 1.3 21480 13640 ?? Ss 12:23PM 0:00.18 /usr/local/sbin/httpd
root 1160 0.0 0.4 6676 3664 ?? Is 12:23PM 0:00.00 /usr/sbin/sshd
www 1167 0.0 1.3 21480 13660 ?? I 12:23PM 0:00.00 /usr/local/sbin/httpd
www 1168 0.0 1.3 21480 13660 ?? I 12:23PM 0:00.00 /usr/local/sbin/httpd
www 1169 0.0 1.3 21480 13660 ?? I 12:23PM 0:00.00 /usr/local/sbin/httpd
www 1170 0.0 1.3 21480 13660 ?? I 12:23PM 0:00.00 /usr/local/sbin/httpd
www 1171 0.0 1.3 21480 13660 ?? I 12:23PM 0:00.00 /usr/local/sbin/httpd
root 1172 0.0 0.3 6072 3336 ?? Ss 12:23PM 0:00.05 sendmail: accepting conne ctions (sendmail)
smmsp 1176 0.0 0.3 6072 3424 ?? Is 12:23PM 0:00.00 sendmail: Queue runner@00 :30:00 for /var/spool/clientmqueue (sendmail)
root 1182 0.0 0.1 3372 1360 ?? Is 12:23PM 0:00.01 /usr/sbin/cron -s
root 1340 0.0 0.4 9400 4352 ?? Is 1:02PM 0:00.06 sshd: iNeko [priv] (sshd)
iNeko 1343 0.0 0.4 9400 4380 ?? S 1:02PM 0:00.08 sshd: iNeko@pts/0 (sshd)
mysql 1000 0.0 0.1 3624 1532 v0- I 12:23PM 0:00.02 /bin/sh /usr/local/bin/my sqld_safe –defaults-extra-file=/home/mysql/my.cnf –user=mysql –datadir=/home/mysql – -pid-file=/home/mysql/webhost.local.pid
mysql 1133 0.0 3.3 301824 33740 v0- I 12:23PM 0:01.41 /usr/local/libexec/mysql d –defaults-extra-file=/home/mysql/my.cnf –basedir=/usr/local –datadir=/home/mysql – -log-error=/var/log/mysqld.log –pid-file=/home/mysql/webhost.local.pid
root 1260 0.0 0.1 3344 1160 v0 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v0
root 1261 0.0 0.1 3344 1160 v1 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v1
root 1262 0.0 0.1 3344 1160 v2 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v2
root 1263 0.0 0.1 3344 1160 v3 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v3
root 1264 0.0 0.1 3344 1160 v4 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v4
root 1265 0.0 0.1 3344 1160 v5 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v5
root 1266 0.0 0.1 3344 1160 v6 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v6
root 1267 0.0 0.1 3344 1160 v7 Is+ 12:23PM 0:00.00 /usr/libexec/getty Pc tty v7
iNeko 1344 0.0 0.2 3624 1616 0 Is 1:02PM 0:00.01 -sh (sh)
root 1345 0.0 0.2 3804 1724 0 I 1:02PM 0:00.01 su
root 1346 0.0 0.3 5648 2852 0 S 1:03PM 0:00.11 _su (csh)
root 1475 0.0 0.1 3424 1152 0 R+ 1:13PM 0:00.00 ps auxww
тока там есть разночтения
на работе одна сеть дома другая
Собственно, получается, что у вас все нормально установилось.
Теперь вам надо добавить домен
/home/admin/create_domain.sh domain.com
и создать базу:
/home/admin/create_base.sh basename username
И все. Можно заливать что вам нужно в /home/admin/domains/domain.com/htdocs
И настоятельно рекомендую делать сайт все-таки на базе домена, а не IP-адреса.
Если я их с делаю то тогда мне на каждом компьютере придёться в лмхосттс прописывать адре- хост…. так?
Ещё как с делать чтобы пароли небыли такими старшними?
ну или как с делатьтак чтобы вообще она спрашивала меня пароль по желанию. а то блин ну я уже 2 забыла =)
Насчет паролей: можете сделать авторизацию по ключам. У меня на сайте, к сожалению, такой статьи нет (слишком тривиально =)), но в поисковиках находится легко.
Насчет домена. У вас, как я понимаю, там какая то домашняя сеть или что-то подобное? Наверняка есть свой внутренний DNS-сервер. Вот на нем и нужно сделать резолв этого домена. Будет самое правильное решение.
эммм по сути обычный ХР раздаёт ту много что переделать нужно пока с малго начинаю.
И так с паролями я разабралась.
Сейчас пробовала установить вордпресс.
Запускаеться по сутику. Всё находиться Ну он мне пишет что надо бы сконфигурироваться
Я говорю. давай
пишет мол пароль базы сервер её и так далее.
Всё это указываю нажимаю далее и…. долго думает потом пишет
504 Gateway Time-out
——————————————————————————–
nginx/0.7.64
Я чегото не то делаю или ему надо тамаут подкрутить гдето?
Пожалуйста, постарайтесь писать без ошибок – очень не удобно читать.
По поводу “504 Gateway Time-out” смотрите лог ошибок в /var/log/httpd/
Прошу прщнья. Волнусью =)
В логах Пусто
вернее всё что есть так это.
[Wed Dec 23 01:49:11 2009] [notice] Apache configured — resuming normal operations
[Wed Dec 23 02:12:09 2009] [notice] caught SIGTERM, shutting down
[Wed Dec 23 05:12:58 2009] [notice] Apache configured — resuming normal operations
[Wed Dec 23 05:45:53 2009] [notice] caught SIGTERM, shutting down
[Thu Dec 24 02:53:42 2009] [notice] Apache configured — resuming normal operations
[Thu Dec 24 03:00:53 2009] [notice] Graceful restart requested, doing restart
httpd: Could not determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
[Thu Dec 24 03:00:53 2009] [notice] Apache configured — resuming normal operations
Смотрите лог для вашего домена, а не дефолтный.
Наподобие /var/log/httpd/domain.com-err.log
А вы знаете? Там пусто! =)
Я в первую очередь туда посмотрела.
Там Нулевой размер.
У меня есть подозрение о том, что это из за того, что у меня домен, ну сразу через несколько точек. 192.168.0.3
Так же я не нашла логов внутри этой Вордпрессины =(
Может можно таймаут в НГниксЕ увеличить?
Вы извините, я наверно уже достала вас.
Просто когда чем-то таким занимаешься, то не с кем даже пообщаться спросить.
То есть вы все-таки сделали IP-адрес, а не домен как я советовал?
Таймаут в нгинксе увеличивать не поможет.
На данный момент у меня нет никакой ДНС в сети.
То есть компьютер у меня, в который входит АДСЛ он же сервер он же рабочая станция.
Там установлена XP. Знаю, что там еще, что-то делали, чтобы можно было много соединений в место 5ти делать.
А вообще я тут у нас Бухгалтер. Что знаю, делаю сама, что-то муж помогает.
Он в этом разбирается, но сказал, что в этом помогать не будет. Сама виновата. =)
А Интернет просто раздается средствами windows. Соответственно, при работе на прямой IP всё соединяется без прописи в хост-с.
Ну не «гуглица» у меня решение на данный момент к подобной ситуации.
Если у вас там всего один компьютер тогда просто пропишите домен в hosts на Windows и на FreeBSD и добавьте его скриптом в конфигурацию Apache.
Самое простое решение.
А теперь вопрос =)
Как удалять та? =)
Что именно удалять?
Как работать с портами во FreeBSD
извеяюсь.
Я была немного под шафэ.
хотя и сейчас немного =)
Как у далять домен и базу с пользователем?
Пьяный админ – опасное дело =)
Удалять базу: drop database basename;
Удалить конфиг виртуалхоста из /usr/local/etc/apache/vhosts
Удалить папку из /home/admin/domains
вот это: echo “1 1 * * * root ntpdate pool.ntp.org” >> /etc/crontab
я бы заменил на ntpd.
p.s. полностью скрипт не читал.
А почему? Имхо, ntpd, являясь самостоятельным демоном имеет основную цель – раздавать точное время машинам в локалке. И его еще нужно настраивать. Нам же в данном случае это не нужно. Я за то чтобы использовать максимально простые решения.
Изучил ваш скрипт и своял небольшое дополнения для организации хостинга, просьба строго не судить.
#!/bin/sh
echo “Скрипт создания пользователя, домена, ftp доступа и базы MYSQL для хостинга”
SQLROOTPASS=(задать)
os=`uname -a |grep -c FreeBSD`
if [ $os = "0" ]; then
echo “Этот скрипт работает только на FreeBSD. Выход.”
exit
fi
echo “Введите имя пользователя для создания (По умолчанию, test):”
read USER
if [ -z $USER ]; then
USER=test
fi
echo “Введите имя домена для создания (По умолчанию, $USER):”
read DOMAIN
if [ -z $DOMAIN ]; then
DOMAIN=$USER
fi
echo “Введите имя пользователя MYSQL для создания (По умолчанию, $USER):”
read MYSQLUSER
if [ -z $MYSQLUSER ]; then
MYSQLUSER=$USER
fi
echo “Введите имя базы MYSQL для создания (По умолчанию, $USER):”
read MYSQLDB
if [ -z $MYSQLDB ]; then
MYSQLDB=$USER
fi
USERPASS=`< /dev/urandom tr -dc A-Za-z0-9 | head -c15`
SQLPASS=` “$VHOSTS/$DOMAIN.conf.tmp1″
sed -e “s/username/$USR/g” “$VHOSTS/$DOMAIN.conf.tmp1″ > “$VHOSTS/$DOMAIN.conf.tmp2″
sed -e “s/IPADDR/127.0.0.1/g” “$VHOSTS/$DOMAIN.conf.tmp2″ > “$VHOSTS/$DOMAIN.conf”
rm -f $VHOSTS/$DOMAIN.conf.tmp1
rm -f $VHOSTS/$DOMAIN.conf.tmp2
echo “Перезагрузка Apache”
/usr/local/etc/rc.d/apache22 reload
echo “Создание домена завершено успешно”
echo “Создание базы данных”
baseexist=`echo “show databases”|mysql –password=$SQLROOTPASS |grep -c $MYSQLUSER”`
if [ $baseexist != "0" ]; then
echo “База данных $MYSQLUSER уже существует! Установка отменена.”
exit
fi
echo “create database $MYSQLUSER;” | mysql –password=$SQLROOTPASS
echo “GRANT ALL PRIVILEGES ON $MYSQLUSER.* TO $MYSQLDB@’localhost’ IDENTIFIED BY ‘$SQLPASS’;” | mysql –password=$SQLROOTPASS
echo “flush privileges;” | mysql –password=$SQLROOTPASS
echo “Создание базы данных завершено успешно”
echo “##############################”
echo “Установка завершена!”
echo “FTP пользователь: $USER”
echo “FTP пароль: $USERPASS”
echo “Домен: $DOMAIN”
echo “База MySQL: $MYSQLUSER”
echo “Пользователь MySQL: $MYSQLDB”
echo “Пароль MySQL: $SQLPASS”
echo “##############################”
echo ‘############################## ‘ > ~/setup.log
echo ‘Установка завершена!’ >> ~/setup.log
echo ‘FTP пользователь: $USER’ >> ~/setup.log
echo ‘FTP пароль: $USERPASS’ >> ~/setup.log
echo ‘Домен: $DOMAIN’ >> ~/setup.log
echo ‘База MySQL: $MYSQLUSER’ >> ~/setup.log
echo ‘Пользователь MySQL: $MYSQLDB”‘ >> ~/setup.log
echo ‘Пароль MySQL: $SQLPASS’ >> ~/setup.log
echo ‘##############################’ >> ~/setup.log
Отличное дополнение!
Правда тут в комментариях в вордпрессе проблемы с кавычками. Возможно будет лучше если вы выложите его где-нибудь для скачивания.
Переделал сам скрипт автоматической установки под apache 22, немного адаптировал и сделал более информативным.
http://files.jelezyakin.ru/config/web-host-setup.sh
Так же изменил представленный скрипт
http://files.jelezyakin.ru/config/freebsd/setup_user.sh
В скриптах есть все комментарии. Строго не судить, возможно что то не углядел и может не сработать
@kolianus
Наверное желательно автоматически определять какой апач установлен.
Адаптация именно с установкой apache22, у меня не было необходимости ставить другую версию, поэтому все делал именно под apache22. Скрипт не раз тестировал ставил на голую систему. Если будет желание и время добавлю установку почтовика, антивируса и еще чего нибудь например переброс портов или фаервол.
Если будет необходимо, то сделаю меню выбора
Будте добры перезалейте скриптик @kolianus
могу выложить но позже пока тестирую то ли сохранилось
http://files.mail.ru/N146QH
файл
Упростил себе и вам работу.
Достаточно будет создать любой исполняемый файл с таким содержанием:
#!/bin/sh
confighost=jelezyakin.ru
cd ~/
fetch http://$confighost/config/setup.sh
chmod +x ~/setup.sh
sh ~/setup.sh
и запустить, дальше установка пройдет в автоматическом режиме.
Перед всеми манипуляциями рекомендую сделать следующие:
Поменять значения на
/etc/login.conf:
russian|Russian Users Accounts:\
:charset=UTF-8:\
:lang=ru_RU.UTF-8:\
:tc=default:
cap_mkdb /etc/login.conf
pw usermod -n root -L russian
мне по душе UTF-8, да и конвертировать кодировки мне было лень )))