dimarts, 16 de juny de 2015

Centos 7, Configuring FTP repository with DVD packages

Introducció

Per a crear un repositori FTP primer necessitem obtenir els paquets. En el nostre cas utilitzarem el DVD d'instal·lació com a font dels paquets. El repositori servira per a proporcionar un repositori per a diferents sistemes que no disposen de connexio a Internet. En aquest cas assumirem que sobre la màquina que configurem el FTP hem configurat previament també el servei d'HTTP com es descriu en el tutorial previ d'aquest mateix blog.

Configuració del Servidor FTP

Per a la configuració del repositori instal·larem vsftpd. Com a root executarem la següent comanda:
yum install vsftpd

Copiem les dades i arranquem el dimoni

Crearem una carpeta per a guardar les dades de la ISO.
mkdir /var/ftp/pub/inst
Utilitzarem mount per remuntar una subsecció de l'arbre de directoris on prèviament haviem guardat el contingut de la ISO en l'article previ.
mount --bind /var/www/html/inst inst/
Si estem realitzant aquest tutorial sense haver realitzat el del repositori HTTP, abans podem realitzar el següents passos: El primer que farem serà montar la font dels paquets(cdrom o la iso, depenent de quin siga el nostre cas). Per montar el cdrom executarem:
mount /dev/cdrom /media
Per montar la ISO executarem:
mount -o loop Centos-7.0-1406-x86_64-DVD.iso /media
Copiem les dades al directori del ftp.
cp -ar /media/* /var/ftp/pub/inst
Després d'executar el mount --bind o la copia de fitxers de la ISO/cdrom, una volta tenim les dades al directori procedirem a arrancar el dimoni. Si no recordem com s'anomena el dimoni la següent ordre ens ajuda a trobar el nom del daemon, en aquest cas vsftpd.
ls /lib/systemd/system/*.service /etc/systemd/system/*.service | grep ftp
Arranquem el dimoni.
systemctl start vsftpd
Revisem que estiga funcionant correctament.
systemctl status vsftpd
Si el dimoni ha arrancat correctament, el configurarem per a que arranque cada volta que el sistema s'inicie.
systemctl enable vsftpd
Obrim el firewall per a que es puga accedir al servici sense problemes.
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --reload

Verifiquem el repositori

Una volta el servidor esta funcionant correctament procedim a la configuracio del repositori. Per a que funcione correctament haurem de canviar els permisos dels fitxers
chown -R root:root /var/ftp/pub/inst/
Configurem el contexte SELinux per a tot el directory /var/ftp/.
chcon -R -t public_content_t /var/ftp/
Comprovem que el contexte s'ha aplibat corectament en /var/ftp/pub/
ls -Z /var/ftp/pub/
lrwxrwxrwx. root root unconfined_u:object_r:public_content_t:s0 \
    inst -> /var/www/html/inst/
Reiniciem el dimoni del FTP per a que es reflexen els canvis.
systemctl restart vsftpd

Errors

En la realització de l'article ens hem trobat el següent problema. Si utlitzavem soft links per utlitzar els fitxer descarregats amb l'article anterior en /var/www/html/inst, en lloc d'utilitzar mount --bind, el dimoni donava un error 550 al intentar accedir al directori del FTP.

Enllaços

https://radu.cotescu.com/vsftpd-and-symbolic-links/
http://vanishedintheshell.apsila.org/2015/05/centos-7-configuring-simple-http.html