Table of Contents

Servidor web/dades

Actualització a Debian 8.9 "jessie" - Agost de 2017

Debian 8.9 es va publicar el 22 de juliol de 2017. 8.0 es va publicar inicialment el 26 d'abril de 2015.

Aquesta pàgina conté la descripció detallada del procés d'actualització.

Les instruccions i recomanacions per instal·lar Debian 8 (jessie) estan disponibles a:

i les instruccions i recomanacions per actualitzar Debian 7 (wheezy) a Debian 8 (jessie) estan disponibles a:

Còpies de seguretat

Guardo a /home/sermnadmin/Documents/Upgrade-from-Debian7-to-Debian8 una còpia de seguretat de les següents carpetes i fitxers:

apt-get upgrade & apt-get dist-upgrade

Modifico els fitxers a /etc/apto/sources.d i substitueixo wheezy per jessie per tal d'emprar els magatzems de la versió 8. Llavors executo primer la comanda apt-get upgrade per fer una actualització mínima abans de fer la gran actualització de Debian amb la comanda apt-get dist-upgrade.

Actualització de PostgreSQL 9.1 a 9.4

root@sermnserver:/home/sermnadmin# pg_dropcluster --stop 9.4 main
root@sermnserver:/home/sermnadmin# ls -l /var/lib/postgresql/
total 4
drwxr-xr-x 3 postgres postgres 4096 Jul  1  2016 9.1

root@sermnserver:/home/sermnadmin# pg_upgradecluster -v 9.4 9.1 main
Stopping old cluster...
Disabling connections to the old cluster during upgrade...
Restarting old cluster with restricted connections...
Creating new cluster 9.4/main ...
  config /etc/postgresql/9.4/main
  data   /var/lib/postgresql/9.4/main
  locale en_US.UTF-8
Flags of /var/lib/postgresql/9.4/main set as -------------e-C
  port   5433
Disabling connections to the new cluster during upgrade...
Roles, databases, schemas, ACLs...
Fixing hardcoded library paths for stored procedures...
Upgrading database template1...
Analyzing database template1...
Fixing hardcoded library paths for stored procedures...
Upgrading database postgres...
Analyzing database postgres...
Re-enabling connections to the old cluster...
Re-enabling connections to the new cluster...
Copying old configuration files...
Copying old start.conf...
Copying old pg_ctl.conf...
Copying old server.crt...
Copying old server.key...
Stopping target cluster...
Stopping old cluster...
Disabling automatic startup of old cluster...
Configuring old cluster to use a different port (5433)...
Starting target cluster on the original port...
Success. Please check that the upgraded cluster works. If it does,
you can remove the old cluster with

  pg_dropcluster 9.1 main
root@sermnserver:/home/sermnadmin# 

root@sermnserver:/etc/default# ls -l /var/lib/postgresql/
total 8
drwxr-xr-x 3 postgres postgres 4096 Jul  1  2016 9.1
drwxr-xr-x 3 postgres postgres 4096 Aug 11 16:54 9.4

Actualització d'Apache de 2.2 a 2.4

FIXME Esmentar els canvis a la configuració del servei i dels virtual-hosts.

Actualització del mòdul de Python per Apache

Al fitxer de registre d'errors d'Apache apareix el següent missatge,

[Mon Aug 14 09:29:21.372902 2017] [:error] [pid 6454] python_init: Python version mismatch, expected '2.7.5+', found '2.7.9'.
[Mon Aug 14 09:29:21.373004 2017] [:error] [pid 6454] python_init: Python executable found '/usr/bin/python'.
[Mon Aug 14 09:29:21.373011 2017] [:error] [pid 6454] python_init: Python path being used '/usr/lib/python2.7/:/usr/lib/python
2.7/plat-x86_64-linux-gnu:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload'.

per resoldre'l desinstal·lo el mòdul que dóna errors amb apt-get remove libapache2-mod-python, reinicio Apache amb la comanda service apache2 restart, i comprovo que ara ja no hi ha missatges d'error al fitxer de registre d'errors.

:warn: Compte! aquesta és una solució provisional. Si en algun moment cal executar una aplicació web en Python, s'haurà de trobar una solució millor.

Actualitzacíó de PHP 5

FIXME Esmentar els canvis als fitxers de configuració /etc/php5/apache2/php.ini i /etc/php5/cli/php.ini.

Substituir denyhosts per fail2ban

FIXME denyhosts ha desaparegut a Jessie i cal substituir-ho per fail2ban, però aquest programa fa servir iptables o sigui que caldrà instal·lar-ho i configurar-ho, possiblement amb l'ajut de l'eina ufw

Actualitzar la configuracio de phpmyadmin

  • Comentar els canvis als fitxers de configuració de phpmyadmin.

Corregir la causa del missatge d'avís/error: “The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. To find out why click here.”

Corregir la causa del missatge d'avís/error: “Connection for controluser as defined in your configuration failed.”

Eliminar paquets obsolets

Amb la comanda apt-get -s autoremove comprovo quins paquets són obsolets i es poden eliminar, i després els elimino amb apt-get autoremove

root@sermnserver:/usr/share/doc/apache2# apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  apache2.2-bin apache2.2-common evolution-webcal geoclue geoclue-hostip geoclue-localnet
  geoclue-manual geoclue-nominatim geoclue-yahoo gir1.2-clutter-gst-1.0 gir1.2-ebookcontacts-1.2
  gir1.2-edataserver-1.2 gir1.2-folks-0.6 gir1.2-gee-0.8 gir1.2-gee-1.0 gir1.2-gst-plugins-base-0.10
  gir1.2-gstreamer-0.10 gnome-js-common gnome-session-fallback grilo-plugins-0.1 gsfonts-x11
  gstreamer0.10-plugins-ugly gtk2-engines guile-1.8-libs hpijs libamd2.2.0 libart2.0-cil libbind9-80
  libcamel-1.2-33 libclutter-gst-1.0-0 libclutter-imcontext-0.1-0 libclutter-imcontext-0.1-bin
  libcluttergesture-0.0.2-0 libcolord1 libdbus-glib1.0-cil libdbus1.0-cil libdconf0 libdns88
  libdrm-nouveau1a libebackend-1.2-2 libecal-1.2-11 libedata-cal-1.2-15 libedataserver-1.2-16
  libepc-1.0-3 libepc-common libepc-ui-1.0-3 libffi5 libfftw3-3 libfftw3-long3 libgconf2-4 libgcr-3-1
  libgdata13 libgdu0 libgee2 libgeoclue0 libglade2.0-cil libglew1.7 libgmime2.6-cil
  libgnome-bluetooth10 libgnome-media-profiles-3.0-0 libgnome2.24-cil libgnomedesktop2.20-cil
  libgnomekbd7 libgphoto2-2 libgphoto2-port0 libgrilo-0.1-0 libgssglue1 libgtksourceview2.0-0
  libgtksourceview2.0-common libgweather-3-0 libical0 libicu48 libimobiledevice2 libisccfg82
  libiscsi1 libjavascriptcoregtk-1.0-0 libjim0debian2 libjson0 liblcms1 liblvm2app2.2 liblwres80
  libmono-system-runtime4.0-cil libmozjs185-1.0 libmpc2 libmusicbrainz5-0 libmx-1.0-2 libmx-bin
  libmx-common libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libnewtonsoft-json4.5-cil libnl1
  libnunit2.6-cil libparted0debian1 libplist1 libpoppler19 libproxy0 librest-extras-0.7-0
  librhythmbox-core6 libseed-gtk3-0 libslp1 libsocialweb-client2 libsocialweb-common
  libsocialweb-service libsocialweb0 libstatgrab6 libt1-5 libtcl8.5 libtelepathy-logger2
  libtidy-0.99-0 libtk8.5 libtotem-plparser17 libts-0.0-0 libumfpack5.4.0 libupower-glib1 libusbmuxd1
  libusbredirparser0 libvirt-bin libvte-common libvte9 libwebkitgtk-1.0-0 libwebkitgtk-1.0-common
  libwxbase2.8-0 libwxgtk2.8-0 libx264-123 libxen-4.1 openssh-blacklist openssh-blacklist-extra
  python-aptdaemon python-aptdaemon.gtk3widgets python-beautifulsoup python-central python-defer
  python-feedparser python-fpconst python-gnupginterface python-gtksourceview2 python-httplib2
  python-packagekit python-software-properties python-utidylib python-zeitgeist tcl8.5 tk8.5 tsconf
  udisks vgabios wwwconfig-common
0 upgraded, 0 newly installed, 148 to remove and 7 not upgraded.
After this operation, 158 MB disk space will be freed.
Do you want to continue? [Y/n] 
(Reading database ... 178919 files and directories currently installed.)
Removing apache2.2-bin (2.4.10-10+deb8u10) ...
Removing apache2.2-common (2.4.10-10+deb8u10) ...
...
Processing triggers for menu (2.1.47) ...
Processing triggers for python-support (1.0.15) ...
Processing triggers for libglib2.0-0:amd64 (2.42.1-1+b1) ...

Canviar la resolució de la consola

Problemes amb Samba (smbd & nmbd)

La versió actualitzada del servidor de SMBFS/CIFS Samba no aconsegueix muntar les carpetes compartides dels ordinadors dels 250 i 360,

[2017/08/15 08:19:58.520269,  0] ../source3/nmbd/nmbd_namequery.c:109(query_name_response)
  query_name_response: Multiple (2) responses received for a query on subnet 192.168.2.2 for name SERMN<1d>.
  This response was from IP 192.168.2.9, reporting an IP address of 149.236.99.1.
[2017/08/15 08:24:59.923557,  0] ../source3/nmbd/nmbd_namequery.c:109(query_name_response)
  query_name_response: Multiple (2) responses received for a query on subnet 192.168.2.2 for name SERMN<1d>.
  This response was from IP 192.168.2.9, reporting an IP address of 149.236.99.1.

Per resoldre l'error afegeixo al fitxer de configuració /etc/samba/smb.conf les línies

bind interfaces only = YES
interfaces = eth0 192.168.2.2
smb ports = 139
bind interfaces only = yes

Llavors reinicio els serveis amb

root@sermnserver:/var/log/samba# sudo systemctl enable smbd.service nmbd.service
Synchronizing state for smbd.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d smbd defaults
Executing /usr/sbin/update-rc.d smbd enable
Synchronizing state for nmbd.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d nmbd defaults
Executing /usr/sbin/update-rc.d nmbd enable

i comprovo que s'hagin activat correctament,

root@sermnserver:/var/log/samba# sudo systemctl status smbd.service nmbd.service
● smbd.service - LSB: start Samba SMB/CIFS daemon (smbd)
   Loaded: loaded (/etc/init.d/smbd)
   Active: active (running) since Thu 2017-08-17 16:34:52 CEST; 11min ago
   CGroup: /system.slice/smbd.service
           ├─3837 /usr/sbin/smbd -D
           └─3856 /usr/sbin/smbd -D

Aug 17 16:34:52 sermnserver smbd[3828]: Starting SMB/CIFS daemon: smbd.
Aug 17 16:34:52 sermnserver systemd[1]: Started LSB: start Samba SMB/CIFS daemon (smbd).

● nmbd.service - LSB: start Samba NetBIOS nameserver (nmbd)
   Loaded: loaded (/etc/init.d/nmbd)
   Active: active (running) since Thu 2017-08-17 16:34:51 CEST; 11min ago
   CGroup: /system.slice/nmbd.service
           └─3801 /usr/sbin/nmbd -D

Aug 17 16:34:50 sermnserver systemd[1]: Starting LSB: start Samba NetBIOS nameserver (nmbd)...
Aug 17 16:34:51 sermnserver nmbd[3789]: Starting NetBIOS name server: nmbd.
Aug 17 16:34:51 sermnserver systemd[1]: Started LSB: start Samba NetBIOS nameserver (nmbd).

Però quan provo a muntar una de les carpetes em dóna l'error,

root@sermnserver:/etc/systemd# mount -v /var/ftp/av-250-robot/
mount.cifs kernel mount options: ip=192.168.2.10,unc=\\cie-48-32.sermn.net\data,file_mod=0644,dir_mode=0755,uid=1000,gid=1000,user=sermnuab,,domain=sermn,pass=********
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

que indica que hi ha una de les opcions al fitxer /etc/fstab no és vàlida. Ho comprovo i trobo que l'error és que hi ha definida l'opció file_mod= en comptes de file_mode=. Corregeixo l'error i aconsegueixo muntar les carpetes compartides dels espectròmetres amb Windows (250s i 360).

Error a dwww

Les pàgines servides per dwww donen l'error

[Thu Aug 17 17:04:42.021799 2017] [http:error] [pid 29159] [client ::1:39133] AH02429: Response header name 'Last modified' contains invalid characters, aborting request, referer: http://localhost/cgi-bin/dwww?search=mount.cifs&programsubmit=Search&searchtype=p

per resoldre'l aplico aquesta solució,

--- dwww-convert.OLD        2017-01-12 06:24:58.208140587 +0100
+++ dwww-convert        2017-01-12 06:25:13.900487551 +0100
@@ -327,7 +327,7 @@
     print "Content-type: $mime_type" . (defined $mime_charset ? "; charset=$mime_charset\n" : "\n");
     my @stat = stat( $filename );
     my $mtime = $stat[9];
-    print "Last modified: " . gmtime($mtime) . "\n";
+    print "Last-Modified: " . gmtime($mtime) . "\n";
     print "Content-Disposition: inline; filename=\"$base_name\"\n";
     print "\n";
 } # }}}