From: Julien Moutinho Date: Tue, 9 Apr 2013 20:17:14 +0000 (+0200) Subject: Modification : vm_hosted : insserv -> runit . X-Git-Url: https://git.cyclocoop.org/?p=lhc%2Fateliers.git;a=commitdiff_plain;h=4699cb3295e62b8035110ad473cd379d25dc8fdf Modification : vm_hosted : insserv -> runit . --- diff --git a/etc/init.d/tmpfs b/etc/init.d/tmpfs index a80f6bc..8e46d00 100755 --- a/etc/init.d/tmpfs +++ b/etc/init.d/tmpfs @@ -59,6 +59,10 @@ do_start() { sudo install -d -m 710 -o postgres -g postgres-data \ /run/postgresql + ! getent passwd postgrey >/dev/null || + sudo install -d -m 2710 -o postgrey -g postfix \ + /run/postgrey + sudo install -d -m 1771 -o root -g root \ /run/spawn-fcgi fi diff --git a/etc/nginx/nginx.conf b/etc/nginx/nginx.conf index 6860ff1..220c1f4 100644 --- a/etc/nginx/nginx.conf +++ b/etc/nginx/nginx.conf @@ -1,5 +1,4 @@ # DOC: http://blog.martinfjordvald.com/2010/07/nginx-primer/ -daemon on; events { multi_accept on; use epoll; diff --git a/etc/nsd3/nsd.conf b/etc/nsd3/nsd.conf index ae58d8d..316af64 100644 --- a/etc/nsd3/nsd.conf +++ b/etc/nsd3/nsd.conf @@ -10,7 +10,7 @@ ipv4-edns-size: 4096 # ipv6-edns-size: 4096 # logfile: "/var/log/nsd.log" # nsid: "aabbccdd" -pidfile: "/run/nsd3.pid" +# pidfile: "/run/nsd3.pid" port: 53 rrl-ratelimit: 200 rrl-size: 10000 diff --git a/etc/php5/fpm/php-fpm.conf b/etc/php5/fpm/php-fpm.conf index 58b9fe7..f681f14 100644 --- a/etc/php5/fpm/php-fpm.conf +++ b/etc/php5/fpm/php-fpm.conf @@ -1,16 +1,16 @@ [global] -daemonize = yes +daemonize = no emergency_restart_interval = 1m emergency_restart_threshold = 10 error_log = syslog ;events.mechanism = epoll log_level = notice -pid = /run/php5-fpm.pid +;pid = /run/php5-fpm.pid process.max = 128 process_control_timeout = 10s ;rlimit_core = 0 rlimit_files = 1024 syslog.facility = daemon -syslog.ident = php-fpm +syslog.ident = php5-fpm include=/etc/php5/fpm/pool.d/*.conf diff --git a/etc/php5/fpm/php.ini b/etc/php5/fpm/php.ini index 00fc40d..77f6a06 100644 --- a/etc/php5/fpm/php.ini +++ b/etc/php5/fpm/php.ini @@ -7,7 +7,7 @@ apc.enabled = 1 apc.file_update_protection=2 apc.filters = apc.gc_ttl = 3600 -apc.include_once_override = 0 +apc.include_once_override = 1 apc.localcache = 1 apc.localcache.size = 256 apc.max_file_size = 1M @@ -75,7 +75,7 @@ mysql.connect_timeout = 60 mysql.default_host = mysql.default_password = mysql.default_port = -mysql.default_socket = +mysql.default_socket = /run/mysqld/sock/mysql mysql.default_user = mysql.max_links = -1 mysql.max_persistent = -1 @@ -127,6 +127,8 @@ engine = On error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT error_log = syslog expose_php = On +extension = apc.so +;extension_dir = file_uploads = On html_errors = On ignore_repeated_errors = Off diff --git a/etc/postfix/main.cf b/etc/postfix/main.cf index 68b34a4..f812f01 100644 --- a/etc/postfix/main.cf +++ b/etc/postfix/main.cf @@ -128,7 +128,7 @@ smtpd_recipient_restrictions = permit_sasl_authenticated reject_unauth_destination # NOTE: ne pas passer par SPFCheck / Postgrey si le mail n'est pas pour nous ou quelqu'un pour lequel on tient lieu de backup_mx - check_policy_service inet:127.0.0.1:10023 + check_policy_service unix:/run/postgrey/socket # NOTE: Postgrey (greylisting) check_policy_service unix:private/spfcheck permit_auth_destination diff --git a/etc/sv/dovecot/run b/etc/sv/dovecot/run new file mode 100755 index 0000000..2cc2dd4 --- /dev/null +++ b/etc/sv/dovecot/run @@ -0,0 +1,6 @@ +#!/bin/sh -eux +exec 2>&1 +sv=${PWD#/etc/sv/} +exec /usr/sbin/dovecot \ + -c /etc/dovecot/dovecot.conf \ + -F diff --git a/etc/sv/nginx/run b/etc/sv/nginx/run new file mode 100755 index 0000000..78e1efb --- /dev/null +++ b/etc/sv/nginx/run @@ -0,0 +1,6 @@ +#!/bin/sh -eux +exec 2>&1 +sv=${PWD#/etc/sv/} +exec /usr/sbin/nginx \ + -c /etc/nginx/nginx.conf \ + -g 'daemon off;' diff --git a/etc/sv/nsd3/run b/etc/sv/nsd3/run new file mode 100755 index 0000000..a59c393 --- /dev/null +++ b/etc/sv/nsd3/run @@ -0,0 +1,6 @@ +#!/bin/sh -eux +exec 2>&1 +sv=${PWD#/etc/sv/} +exec /usr/sbin/nsd \ + -c /etc/nsd3/nsd.conf \ + -d diff --git a/etc/sv/ntp/run b/etc/sv/ntp/run new file mode 100755 index 0000000..f99231e --- /dev/null +++ b/etc/sv/ntp/run @@ -0,0 +1,9 @@ +#!/bin/sh -eux +exec 2>&1 +sv=${PWD#/etc/sv/} +exec /usr/sbin/ntpd \ + -c /etc/ntp.conf \ + -g \ + -I 127.0.0.1 \ + -n \ + -u ntp:ntp diff --git a/etc/sv/php5-fpm/run b/etc/sv/php5-fpm/run new file mode 100755 index 0000000..c1c042f --- /dev/null +++ b/etc/sv/php5-fpm/run @@ -0,0 +1,6 @@ +#!/bin/sh -eux +exec 2>&1 +sv=${PWD#/etc/sv/} +exec /usr/sbin/php5-fpm \ + --fpm-config /etc/php5/fpm/php-fpm.conf \ + --php-ini /etc/php5/fpm/php.ini diff --git a/etc/sv/postfix/run b/etc/sv/postfix/run new file mode 100755 index 0000000..3088a77 --- /dev/null +++ b/etc/sv/postfix/run @@ -0,0 +1,16 @@ +#!/bin/sh -eux +exec 2>&1 +sv=${PWD#/etc/sv/} + +command_directory=/usr/sbin \ +config_directory=/etc/postfix \ +daemon_directory=/usr/lib/postfix \ +data_directory=/var/lib/postfix \ +mail_owner=postfix \ +queue_directory=/var/spool/postfix \ +setgid_group=postdrop \ +/etc/postfix/postfix-script check + +exec /usr/lib/postfix/master \ + -c /etc/postfix \ + diff --git a/etc/sv/postgrey/run b/etc/sv/postgrey/run new file mode 100755 index 0000000..fba506a --- /dev/null +++ b/etc/sv/postgrey/run @@ -0,0 +1,12 @@ +#!/bin/sh -eux +exec 2>&1 +sv=${PWD#/etc/sv/} +exec /usr/bin/chpst \ + -u "$sv":"$sv" \ + /usr/sbin/postgrey \ + --auto-whitelist-clients=5 \ + --dbdir=/var/lib/postgrey \ + --delay=65 \ + --max-age=35 \ + --privacy \ + --unix=/run/postgrey/socket diff --git a/etc/sv/sshd/run b/etc/sv/sshd/run new file mode 100755 index 0000000..477eebe --- /dev/null +++ b/etc/sv/sshd/run @@ -0,0 +1,4 @@ +#!/bin/sh -eux +exec 2>&1 +sv=${PWD#/etc/sv/} +exec /usr/sbin/sshd -D diff --git a/etc/sv/unbound/run b/etc/sv/unbound/run new file mode 100755 index 0000000..e157a92 --- /dev/null +++ b/etc/sv/unbound/run @@ -0,0 +1,6 @@ +#!/bin/sh -eux +exec 2>&1 +sv=${PWD#/etc/sv/} +exec /usr/sbin/unbound \ + -c /etc/unbound/unbound.conf \ + -d diff --git a/vm_hosted b/vm_hosted index 00d2395..b129993 100755 --- a/vm_hosted +++ b/vm_hosted @@ -8,6 +8,7 @@ tool=${tool%/*} . "$tool"/lib/rule.sh . "$tool"/etc/vm.sh export TRACE=1 +cd / rule_help () { # SYNTAX: [--hidden] local hidden; [ ${1:+set} ] || hidden=set @@ -308,6 +309,7 @@ rule_boot_configure () { } rule_dovecot_configure () { rule apt_get_install dovecot-imapd dovecot-managesieved dovecot-sieve + rule insserv_remove dovecot local hint="run vm_remote dovecot_key_send before" assert "sudo test -f /etc/dovecot/\"$vm_domainname\"/imap/x509/key.pem" hint sudo install -m 400 -o root -g root \ @@ -385,7 +387,8 @@ rule_dovecot_configure () { EOF sudo install -m 664 -o root -g root /dev/stdin /etc/postgrey/whitelist_recipients.local <<-EOF EOF - sudo service dovecot restart + rule runit_sv_configure dovecot + rule runit_sv_restart dovecot } rule_etckeeper_configure () { sudo install -m 644 -o root -g root /dev/stdin /etc/etckeeper/etckeeper.conf <<-EOF @@ -482,6 +485,13 @@ rule_initramfs_configure () { # NOTE: clefs générées par Debian sudo update-initramfs -u } +rule_insserv_remove () { # SYNTAX: $sv + local sv="$1" + sudo chmod u+x /etc/init.d/"$sv" + sudo insserv --force --remove "$sv" + sudo /etc/init.d/"$sv" stop + sudo chmod ugo-x /etc/init.d/"$sv" + } rule_gitolite_configure () { sudo debconf-set-selections <<-EOF gitolite gitolite/gituser string git @@ -587,7 +597,7 @@ rule_gitolite_configure () { do test ! -d /home/git/etc/gitolite/"$d" || rmdir /home/git/etc/gitolite/"$d" done - sudo service tmpfs restart + rule tmpfs_configure } rule_locales_configure () { sudo debconf-set-selections <<-EOF @@ -705,6 +715,7 @@ rule_mail_configure () { } rule_mysql_configure () { rule apt_get_install mysql-server-5.5 + rule insserv_remove mysql rule adduser mysql \ --disabled-login \ --disabled-password \ @@ -743,38 +754,30 @@ rule_mysql_configure () { --datadir=/home/mysql/data \ --no-defaults fi - sudo service tmpfs restart - sudo insserv -r mysql - sudo chmod ugo-x /etc/init.d/mysql - case $(sudo sv status mysql || true) in - (''|run:*|*"s, normally up;"*) - rule runit_sv_restart mysql - ( - cd / - while ! sudo -u mysql mysql -u mysql