Servidor WEB en Fedora
Enviado por jaiminho2003 • 12 de Octubre de 2011 • Trabajo • 2.113 Palabras (9 Páginas) • 625 Visitas
Servidor WEB con PHP y MySQL en Linux Fedora
Este post, pretende mostrar la manera en la cual se levanta y configura un servidor WEB en Fedora, que contenga PHP (con librería de gráficos GD), MySQL y se pueda conectar con servidores externos MS SQL Server y Oracle.
( NOTA: Todo el levantamiento se realizo con Fedora Core 11 desde línea de comandos, pero ya estoy realizándolo con Fedora Core12, cuando esté listo cambiare esta nota. )
Disculpen la tardanza, por fin puedo corroborar que la instalacion de Fedora Core 12 es casi identica a la presentada en el presente tutorial, solo quisiera agregar un par de detalles, primero, despues de intentar la instalacion de FC12 al final marcaba un error con un complemento de audio pero solo bastaba reiniciar sacar el disco de instalación e iniciaba "normal", y la tarjeta de red no podia comunicar no conectaba a la red y mucho menos a internet, despues de mucho investigar en la red resulto que el problema fue debido a que se me ocurrio agregar 2 procesadores virtuales en lugar de 1 y ver el resultado, pues ya supe el resultado, por consiguiente una maquina virtual para linux, 1 procesador sera el maximo que les recomiendo; atro detalle fue que no me permitio crear un grupo por linea de comandos, marcaba un error de que ese nombre no era valido, pero ya no investigue mas al respecto, decidi realizarlo por medio de la interfaz grafica :S. A parte de esto todo va viento em popa, seguire trabajando el servidor y si detecto algo actualizare el mismo.
Una vez instalado el Sistema Operativo, con las opciones de servidor instaladas, se procede a levantar los servicios que se utilizaran para el sitio, un servidor FTP, un servidor MySQL y el servidor apache con PHP y los módulos de Gráficos, conexiones a MS SQL Server y conexiones a Oracle.
Para levantar todos los servicios recomiendo ampliamente realizar todos los procedimientos con root, para que no haya problemas de permisos entre lo instalado y los servicios, por consiguiente nos logueamos con algún usuario normal y en línea de comandos utilizamos el comando su para cambiarnos a root.
Servidor FTP
El servidor ftp se inicia de la siguiente manera: service vsftpd start
Se ejecuta el siguiente comando para que se inicie cuando arranque el sistema: chkconfig vsftpd on
Ahora se configura el servidor ftp, para esto se edita el archivo /etc/vsftpd/vsftpd.conf
Se deberán cambiar/agregar las siguiente opciones
Para permitir conectarse remotamente con los usuarios locales:
anonymous_enable=NO
local_enable=YES
Para permitir subir y crear archivos y directorios:
write_enable=YES
Para dar permiso especifico a los archivos creados ( 0002 xor 0777 = 0775 )
local_umask=0002
file_open_mode=0777
Para cambiar al propietario se pueden agregar/modificar estas líneas:
chown_uploads=YES
chown_username=Administrador
Agregamos excepción al puerto 21 al cortafuegos para ellos utilizamos la aplicación setup:
Configuracion del firewall -> Personalizar –> Seleccionar el puerto ftp -> Cerrar -> Aceptar -> Si -> Salir
Tabien agregaremos excepciones al selinux, para que permita pasar las reglas del ftp:
setsebool –P ftp_home_dir=1
setsebool -P allow_ftpd_full_access 1
Para aceptar los cambios será necesario reiniciar el servidor ftp, esto se hace con el siguiente comando:
service vsftpd restart
Servidor Apache
El servidor Apache se inicia de la siguiente manera: service httpd start
Se ejecuta el siguiente comando para que se inicie cuando arranque el sistema: chkconfig httpd on
Ahora ya está listo nuestro servidor web con php, el directorio default es /var/www/html/
Será necesario dar permisos a esta carpeta y todos los archivos que aquí se escriban, para que todos los usuarios puedan leer y solo un cierto grupo pueda modificarlos.
Para crear usuarios que puedan modificar el sitio web, necesitamos que tengan como grupo principal al grupo que modifica el sitio web.
Creamos un grupo el cual tendrá privilegios para crear y modificar en el sitio web: groupadd DesarrolloWEB
Agregar un usuario al grupo DesarrolloWEB: gpasswd -a Administrador DesarrolloWEB
Cambiamos el grupo principal del usuario Administrador: usermod -gDesarrolloWEB Administrador
Quitamos al usuario Administrador de su grupo autocreado: gpasswd -d Administrador Administrador
Quitamos el grupo al que pertenecía: groupdel Administrador
Para crear un usuario que pertenezca a este grupo: useradd -N -gDesarrolloWEB -pPASSWORD USUARIO
Con este comando cambiamos al grupo al que pertenece el directorio html y con -R se hace recursivo sobre todos los directorios que estén dentro de html:
sudo chown root: DesarrolloWEB /var/www/html -R
Ahora este comando para cambiar los permisos y que todo el grupo DesarrolloWEB pueda escribir en el directorio:
chmod 775 /var/www/html -R
el permiso 775 implica Leer, Modificar para usuario root y todos los miembros del grupo DesarrolloWEB y leer/ejecutar para el resto de los usuarios.
En caso de ser migración de otro sitio web a este, será necesario ejecutar ese último comando cuando se copien los archivos del servidor anterior para reemplazar los permisos anteriores por los del nuevo Usuario/grupo (no aplica si se suben por FTP, ya que los permisos ya se especificaron en la configuración de VSFTPD).
Agregamos excepción al puerto 80 al cortafuegos para ellos utilizamos la aplicación setup:
Configuración del firewall -> Personalizar –> Seleccionar el puerto http -> Cerrar -> Aceptar -> Si -> Salir
Para poder subir archivos via POST, será necesario agregar esta excepción al SELINUX:
setsebool –P httpd_can_network_connect=1
Servidor MySQL
El servidor MySQL se inicia de la siguiente manera: service mysqld start
Se ejecuta el siguiente comando para que se inicie cuando arranque el sistema: chkconfig mysqld on
Ahora se asigna la contraseña de root, para ello utilizaremos el siguiente comando
[root@www Instalar]# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('mypass') WHERE User='root';
Iniciamos sesión con root:
[root@www
...