LINUX.ORG.RU

Сообщения joe_diez

 

Что подразумевает общее обслуживание виртуальных серверов?

Что подразумевает общее обслуживание виртуальных серверов?

Стоит сервер, настроен, крутится. Начальник интересуется, чего с ним можно сделать в рамках обслуживания?

Мне нужно накидать список задач и внести предложения по проведению работ.

Вот к вам за советом пришел. Без троллинга только.

И отдельный вопрос по AWS. Текущий инстанс слишком большой и дорогой. Чтобы его уменьшить, технически от него отцепляется storage и меняется тип инстанса, а потом заново подключается. Все верно?

 ,

joe_diez ()

Странное поведение сервера. Не перезагружается, htop не работает.

Не перезагружается ванильный 8.10.

Набираю reboot от root-a или так:

# sudo shutdown -r now
# shutdown -r -h +0
$ sudo reboot

Сервер говорит, окей. Ухожу в перезагрузку. И не уходит. Все ssh консоли как были открыты, так висят. Пинг непрерывно тоже ползет, не пропадает.

В /var/log/messages:

clocksource/1: Time went backwards: ret=4c33dbbd9e44 delta=-21485531505491178 shadow=4c33b569a34c offset=26545766

При запуске htop имею черный экран, который гасится ctrl+c, ctrl+z.

 

joe_diez ()

FTP response «550 Permission denied.»

FTP response «550 Permission denied.»

Система: `Ubuntu 14.04` и `vsftpd: version 3.0.2`

Завел пользователя `drupal` для работы по FTP, homedir: `/var/www/vhosts/somedomain.com`

Кусок /etc/passwd:

drupal:x:1005:65534::/var/www/vhosts/somedomain.com:/bin/false

/etc/vsftpd.conf:

listen=YES
listen_port=xxxx
anonymous_enable=NO
local_enable=YES
write_enable=YES
allow_writeable_chroot=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/nchroot
log_ftp_protocol=YES
secure_chroot_dir=/var/run/vsftpd/empty
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
tcp_wrappers=YES
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_address=x.x.x.x
user_config_dir=/etc/vsftpd/user_conf
guest_enable=YES
guest_username=vsftpd

/etc/pam.d/vsftpd:

auth    sufficient  pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd
account required pam_permit.so

Менял права на 777 и владельца на drupal:drupal на `/var/www/vhosts/somedomain.com/htdocs`

При соединении по FTP попадаю в нужную директорию и вижу файлы,

Создать файл внутри htdocs не могу.

В логах FTP response «550 Permission denied.»

Гугол пишет, что это либо недостаточно прав на директорию, либо нет настроек в конфиге vsftpd, но в данном случае и то, и то есть.

Есть подозрение, что я чего-то упускаю в /etc/pam.d/vsftpd т.к. он customized.

 ,

joe_diez ()

Как получить доступ к файлу на сервере с клиента не копируя его?

Есть scp - но это копирование, не подходит. Есть rsync - тоже копирование

Webdav+SSL надо настраивать на сервере. NFS - тоже.

 ,

joe_diez ()

Как перезапустить Apache (собранный из сорцов)

В usr/local есть:

httpd-2.2.11
httpd-2.2.24
httpd-2.2.31

Вижу по процессам, что запущен 2.31.

Т.е. понятно, что из сорцов собрали и запустили апач. Их несколько собранно, сейчас бежит последний из собранных. В init.d ничего похожего на скрипт загрузки apache не наблюдаю. Нету ни http, ни apache2.

Как его перезапусить?

Обычно, когда из пакетов ставишь, делаешь:

/etc/init.d/apache2 restart

А здесь непонятно.

 ,

joe_diez ()

заблокировать запросы по маске средсвами apache

Задача: заблокировать запросы по маске `glitter_calendar` средсвами apache.

В .htaccess был кусок от wordpress, потом добавил блокировку к xmlrpc.php, и теперь пытаюсь заблокировать запросы по маске `glitter_calendar`:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*(wpdffcontent)|(glitter_calendar)|(mp4:).* [NC]
RewriteRule ^(.*)$ - [F,L]
</IfModule>


# END WordPress

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

Тут и на stackoverflow нашел похожие вопросы.

Оно не работает. Error 404 Not Found выдается внутри страницы с wordpress.

Правило блокировки xmlrpc.php работает.

Модуль включен:

# httpd -M
...
Loaded Modules:
...
rewrite_module (shared)
...

И все это крутится на virtual host, который управляется virtualmin.

Кусок httpd.conf файла apache:

...
LoadModule rewrite_module modules/mod_rewrite.so
...

<VirtualHost x.x.x.x]:80>
SuexecUserGroup "#505" "#504"
ServerName mysite.com
ServerAlias www.mysite.com
ServerAlias webmail.mysite.com
ServerAlias admin.mysite.com
ServerAlias autoconfig.mysite.com
ServerAlias autodiscover.mysite.com
DocumentRoot /home/mysite/public_html
ErrorLog /var/log/virtualmin/mysite.com_error_log
CustomLog /var/log/virtualmin/mysite.com_access_log combined
ScriptAlias /cgi-bin/ /home/mysite/cgi-bin/
ScriptAlias /awstats/ /home/mysite/cgi-bin/
ScriptAlias /AutoDiscover/AutoDiscover.xml /home/mysite/cgi-bin/autoconfig.cgi
ScriptAlias /Autodiscover/Autodiscover.xml /home/mysite/cgi-bin/autoconfig.cgi
ScriptAlias /autodiscover/autodiscover.xml /home/mysite/cgi-bin/autoconfig.cgi
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /home/mysite/public_html>
Options -Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch +ExecCGI
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
AddType application/x-httpd-php .php
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
FCGIWrapper /home/mysite/fcgi-bin/php5.fcgi .php
FCGIWrapper /home/mysite/fcgi-bin/php5.fcgi .php5
</Directory>
<Directory /home/mysite/cgi-bin>
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.mysite.com
RewriteRule ^(.*) https://mysite.com:20000/ [R]
RewriteCond %{HTTP_HOST} =admin.mysite.com
RewriteRule ^(.*) https://mysite.com:10000/ [R]
RemoveHandler .php
RemoveHandler .php5
php_admin_value engine Off
FcgidMaxRequestLen 1073741824
Alias /dav /home/mysite/public_html
Alias /pipermail /var/lib/mailman/archives/public
<Location /dav>
DAV on
AuthType Basic
AuthName "mysite.com"
AuthUserFile /home/mysite/etc/dav.digest.passwd
Require valid-user
ForceType text/plain
Satisfy All
RemoveHandler .php
RemoveHandler .php5
RewriteEngine off
</Location>
<Files awstats.pl>
AuthName "mysite.com statistics"
AuthType Basic
AuthUserFile /home/mysite/.awstats-htpasswd
require valid-user
</Files>
RedirectMatch /cgi-bin/mailman/([^/\.]*)(.cgi)?(.*) https://mysite.com:10000/virtualmin-mailman/unauthenticated/$1.cgi$3
RedirectMatch /mailman/([^/\.]*)(.cgi)?(.*) https://mysite.com:10000/virtualmin-mailman/unauthenticated/$1.cgi$3
php_value memory_limit 32M
IPCCommTimeout 41
Redirect /mail/config-v1.1.xml /cgi-bin/autoconfig.cgi
Redirect /.well-known/autoconfig/mail/config-v1.1.xml /cgi-bin/autoconfig.cgi
</VirtualHost>

Как починить? Спасибо.

 ,

joe_diez ()

FSFTPD. Некий неясный глюк c chroot директорией.

FSFTPD настроен так, что локальные пользователи попадают в свой домашний каталог.

Структура каталогов такая:

  • /var/www/vhosts/site.com/htdocs
  • /var/www/vhosts/site.com/logs

Создал пользователя:

useradd --home /var/www/vhosts/site.com/htdocs --gid nogroup -m --shell /bin/false coolftpuser

Потом подумал, что пользователь должен заходить в logs тоже и поменял ручками в /etc/passwd путь homedir на /var/www/vhosts/site.com.

Потом менял еще так:

usermod --home /var/www/vhosts/site.com coolftpuser 

Косяк в том, что пользователь все равно по FTP попадает в папку htdocs. Т.е. при заходе по FTP видется содержимое папки htdocs, а сама папке показывается как /. Папки logs так и не видно.

UPD1. Права 755 на все: директории, файлы.

Еще момент: по образу и подобию права стоят для других 4 vhosts. С ними проблем нет. На них homedir указал другую с самого начала.

 

joe_diez ()

Есть ли в природе вменяемый хауту по настройке VSFTP для виртуальных пользователей

Головняк с настройкой vsftpd. Понятно, что из коробки он взлетает и работает хорошо.

Задача: Настроить его для виртуальных пользователей. Настроить для каждого пользователя домашнюю директорию, отличную от default.

Usecase: на сервере хостится много сайтиков, каждый в своей папке. Реальных пользователей заводить не нужно, чтобы они не ходили по ssh.

Убил три дня, не нашел вменяемой инструкции по настроке vsftpd для виртуальных польлзовотелей (с авторизацией PAM).

Может, посмотреть в сторону proftpd?

 

joe_diez ()

rpcbind, port 111 зачем он нужен? Если можно, на пальцах

Читал интернет, но так и не понял, зачем нужен этот сервис.

Обьясните на пальцах, как для чувака с улицы, пожалуйста.

Спасибо.

 

joe_diez ()

Репликация MySQL. Нужно ли пилить конфиги мастер?

Есть учетные данные от серверов и баз данных. Нужно сделать КЛОН сервера production. При этом настройки production желательно не трогать.

Мне нужно чтобы состояние всех баз переносилось в staging server. Вопрос. Возможно ли это технически не меняя настройки MySQL в production?

Сначала хотел написать скрипт, который делает бекап, кладет бекап в staging и разворачивается из бекапа, но ведь есть такая штука как репликация?

Update: по идее, можно скрипт написать, который делает дамп всех баз данных с удаленного хоста на локальный, а потом восстанавливает.

И есть еще такой момент, как восстановление баз из бекапов, оно занимает порядка 8-часов, не знаю, много это или мало. Скрипт, может по кругу ходить, долго. Мне это раз в сутки нужно делать. Тем более - делать дамп по сети.. это время займет.

Спасибо.

 ,

joe_diez ()

Взломан сайт. Пришло письмо от google. Как лечить?

Пришло письмо от google, пишут, что сайт взломан.

A hacker may have modified your site to contain spammy content. To protect visitors to your
site, Google’s search results may label your site’s pages as hacked. We may also show an
older, clean version of your site.

Что реально вижу - при переходе по ссылкам этот сайт пересылает на какой-то китайский магазин.

Движок сайта - wordpress.

Как чинить?

Как удалить больные ссылки?

Спасибо.

 , ,

joe_diez ()

Как называется сервис exim в CentOS 6?

История такая. Поставил Postfix на CentOS 6. Он не хочет запускаться. В логах пишет:

1. что порт уже занят exim.

2. Хочу его остановить, чтобы не мешал, но в списке chkconfig его не вижу.

Как его найти?

Dec 18 11:39:45 x postfix/master[8534]: fatal: bind 127.0.0.1 port 25: Address already in use
Dec 18 11:41:22 x postfix/postfix-script[8630]: starting the Postfix mail system
Dec 18 11:41:22 x postfix/master[8631]: fatal: bind 127.0.0.1 port 25: Address already in use

[root@x log]# chkconfig --list
NetworkManager  0:off   1:off   2:on    3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
blk-availability        0:off   1:on    2:on    3:on    4:on    5:on    6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
cups            0:off   1:off   2:on    3:on    4:on    5:on    6:off
dnsmasq         0:off   1:off   2:off   3:off   4:off   5:off   6:off
firstboot       0:off   1:off   2:off   3:off   4:off   5:off   6:off
haldaemon       0:off   1:off   2:off   3:on    4:on    5:on    6:off
ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
kdump           0:off   1:off   2:off   3:on    4:on    5:on    6:off
lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
mdmonitor       0:off   1:off   2:on    3:on    4:on    5:on    6:off
messagebus      0:off   1:off   2:on    3:on    4:on    5:on    6:off
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
nfs-rdma        0:off   1:off   2:off   3:off   4:off   5:off   6:off
nginx           0:off   1:off   2:on    3:on    4:on    5:on    6:off
ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
ntpdate         0:off   1:off   2:off   3:off   4:off   5:off   6:off
php-fpm         0:off   1:off   2:on    3:on    4:on    5:on    6:off
portreserve     0:off   1:off   2:on    3:on    4:on    5:on    6:off
postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off
pppoe-server    0:off   1:off   2:off   3:off   4:off   5:off   6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
rdma            0:off   1:off   2:off   3:off   4:off   5:off   6:off
redis           0:off   1:off   2:on    3:on    4:on    5:on    6:off
restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
searchd         0:off   1:off   2:off   3:on    4:on    5:on    6:off
spice-vdagentd  0:off   1:off   2:off   3:off   4:off   5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off
wdaemon         0:off   1:off   2:off   3:off   4:off   5:off   6:off
webmin          0:off   1:off   2:on    3:on    4:off   5:on    6:off
winbind         0:off   1:off   2:off   3:off   4:off   5:off   6:off
wpa_supplicant  0:off   1:off   2:off   3:off   4:off   5:off   6:off

[root@x log]# netstat -ntulp | grep 25
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      2379/exim
tcp        0      0 :::25                       :::*                        LISTEN      2379/exim
udp        0      0 fe80::250:56ff:fe81:3517:123 :::*                                    2135/ntpd
[root@x log]# service exim status
exim (pid  2379) is running...

UPD: в общем, сделал:

yum remove exim

И postfix стартанул, но почему exim не было в chkconfig, хотя service exim status показывал, что он есть, это осталось загадкой.

 , ,

joe_diez ()

mysqldump. Нужно ли останавливать mysql сервер для mysqldump?

Нужно ли останавливать MySQL сервер для mysqldump?

  • Сервер сильно работает с базой.
  • Важно, чтобы не останавливалась работа сайта, работающего с базой.
  • Не принципиальна актуальность данных в дампе, главное - чтоб было.

Если я выполню:

mysqldump --all-databases | gzip > all_databases.sql.gz

Повлияет ли это на работу сайта?

Спасибо.

 ,

joe_diez ()

RSS подписка на новые темы