Sie sind auf Seite 1von 7

Taller 18: Servidor Web (Apache + MySQL + PHP)

####################################################################
Instalacion de paquetes
--------------------------------------$> yum -y install httpd mariadb-server php php-cli php-pear \
php-mysql php-imap php-ldap php-gd php-mcrypt
Configuracion de Apache (VirtualHost)
---------------------------------------------------Cuando se instala apache el DocumenRoot (/var/www/html)
atiende al dominio por defecto http://localhost
Si queremos asociar un dominio principal al servidor
web ej: www.midominio.com simplemente hay que resolverlo por DNS
$> systemctl start httpd
$> systemctl enable httpd
Entrar con el navegador a
http://localhost
VirtualHost en Apache
---------------------------------------------------$> vim /etc/httpd/conf.d/vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.dominio1.com
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
Options Indexes FollowSymLinks
DirectoryIndex index.html index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName intranet.dominio1.com
DocumentRoot "/var/www/intranet"
<Directory "/var/www/intranet">
Options Indexes FollowSymLinks
DirectoryIndex index.html index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.dominio2.com
DocumentRoot "/var/www/dominio2"
<Directory "/var/www/dominio2">
Options Indexes FollowSymLinks
DirectoryIndex index.html index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>

</VirtualHost>
-----------------------------------------------------Resolviendo los nombres de Host por DNS o por /etc/hosts
--------------------------------------------------------$> vim /etc/hosts
127.0.0.1 localhost localhost.locadomain
192.168.130.X www.dominio1.com
192.168.130.X www.dominio2.com
192.168.130.X intranet.dominio1.com
Creando los directorios para la resolucion de los host virtuales
------------------------------------------------------------$> mkdir /var/www/dominio2
$> mkdir /var/www/intranet
Creando archivos indexadores
*------------------------$> echo "hola mundo desde dominio1" > /var/www/html/index.html
$> echo "hola mundo desde dominio2" > /var/www/dominio2/index.php
$> echo "hola mundo desde intranet" > /var/www/intranet/index.php
Restaurando los contextos web de selinux
$> restorecon -RFvv /var/www
Reniciando servidor web y probando
---------------------------------------$> systemctl restart httpd
Entrar con el navegador
-------------------------------http://www.dominio1.com
http://www.dominio2.com
http://intranet.dominio1.com
Proxy Reverso
################################################################
$> vim /etc/httpd/conf.d/vproxy.conf
--------------------------------------------------------------------<VirtualHost *:80>
ServerName intranet.dominio2.com
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ServerAlias intranet.dominio2.com
ProxyRequests Off
ProxyPass / http://192.168.130.X:8080/
ProxyPassReverse / http://192.168.130.X:8080/
ErrorLog /var/log/httpd/intranet2-error.log
</VirtualHost>
<VirtualHost *:80>
ServerName www.tromercio.com
<Proxy *>
Order deny,allow
Allow from all

</Proxy>
ServerAlias www.tromercio.com
ProxyRequests Off
ProxyPass / http://elcomercio.pe/
ProxyPassReverse / http://elcomercio.pe/
ErrorLog /var/log/httpd/tromercio-error.log
</VirtualHost>
---------------------------------------------------------* Instalacin de tomcat
$> yum -y install java-1.7.0-openjdk
$> cd /opt
$> wget --user=linux --password=ad1estra http://adiestra.pe/centos7/apache-tomca
t-7.0.57.tar.gz
$> tar -zxvf apache-tomcat-7.0.57.tar.gz
$> mv apache-tomcat-7.0.57 tomcat
Iniciar Tomcat
$> /opt/tomcat/bin/catalina.sh start
Editar el /etc/hosts
$> vim /etc/hosts
.
.
192.168.120.X www.tromercio.com
192.168.120.X intranet.dominio2.com
* Habilitar el puerto 8080 en el iptables
iptables -A INPUT -p tcp --dport 8080 -m state --state NEW,ESTABLISHED,RELATED j ACCEPT
iptables -A OUTPUT -p tcp --sport 8080 -m state --state ESTABLISHED,RELATED -j A
CCEPT
* Habilitar el boleano de apache para que pueda conectarse por red
$> setsebool -P httpd_can_network_connect on
$> systemctl restart httpd
Luego Probamos el proxy reverso Entrando con el navegador a
www.tromercio.com
intranet.dominio2.com
Instalar Drupal
-----------------------------$> cd /var/www
$> wget http://ftp.drupal.org/files/projects/drupal-7.34.tar.gz
$> tar -zxvf drupal-7.34.tar.gz
$> mv html html_old
$> mv drupal-7.34 html
$> restorecon -RFvv /var/www
$> cd html/sites/default
$> cp default.settings.php settings.php
$> chmod 777 settings.php
$> mkdir files
$> chmod 777 files
Bajar la traduccin al espaol

--------------------------------------------------------------$> cd /var/www/html/profiles/standard/translations
$> wget http://ftp.drupal.org/files/translations/7.x/drupal/drupal-7.34.es.po
Crear usuario y base de datos para drupal
------------------------------------------$> systemctl start mariadb
$> systemctl enable mariadb
$> mysql -u root -p
Poniendo una contrasea al usuario root
-----------------------------------------mysql> SET PASSWORD FOR root@localhost=password("alumno");
mysql> quit
$> mysql -u root -p
Crear base de datos para drupal
--------------------------------mysql> CREATE DATABASE drupal;
Crear usuario para drupal y darle permiso a la base de datos drupal
mysql> GRANT ALL on drupal.* TO drupalito@localhost IDENTIFIED BY "drupalito";
mysql> quit
Restaurar los contextos
$> restorecon -RFvv /var/www
Instalar drupal
------------------------------------------------------Entrar con el navegador:
http://www.dominio1.com
Seleccionar instalacin Standar, Lenguajes spanish
Si sale errores solucionarlos;
ej si nos dice que instalemos la extensin mbstring y dom
$> yum -y install php-mbstring php-xml
$> systemctl restart httpd
Volvemos a entrar con el navegador:
http://www.dominio1.com
Poner el usuario y contrasea de la base de datos creada para drupal
base de datos: drupal
usuario: drupalito
contrasea:drupalito
Poner el nombre al nuevo sitio web
Crear el usuario admin, su contrasea y correo de contacto
terminado el proceso dar permiso de no escritura a settings.php
$> chmod 755 /var/www/html/sites/default/settings.php
Entrar al Nuevo Sitio drupal

------------------------------------http://www.dominio1.com
HTTPS con CentOS
--------------------------------------------------------------Comprar Certificados en http://godaddy.com
o http://verisign.com
Enlace de configuracion HTTPS con CentOS
http://wiki.centos.org/HowTos/Https
Si quiero correr https con el certificado por defecto que viene en centos
$> yum -y install mod_ssl openssl
$> systemctl restart httpd
Dar aceso por iptables al https
iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED,RELATED -j
ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED,RELATED -j AC
CEPT
Entrar a https://www.dominio1.com
Generar el certificado SSL
-------------------------------------------------------------------Si da problemas el certificado, regenerarlo
# Generate private key
$> openssl genrsa -out ca.key 1024
# Generate CSR
$> openssl req -new -key ca.key -out ca.csr
Country Name (2 letter code) [XX]:PE
State or Province Name (full name) []:Lima
Locality Name (eg, city) [Default City]:Lince
Organization Name (eg, company) [Default Company Ltd]:PeruLinux
Organizational Unit Name (eg, section) []:sistemas
Common Name (eg, your name or your server's hostname) []:serverX.adiestra.pe
Email Address []:pepito@gmail.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
# Generate Self Signed Key
$> openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
# Copy the files to the correct locations
$> cp ca.crt /etc/pki/tls/certs
$> cp ca.key /etc/pki/tls/private/ca.key
$> cp ca.csr /etc/pki/tls/private/ca.csr
$> restorecon -RvF /etc/pki
Editar el archivo de configuracion de SSL en Apache para usar el certificado aut
ofirmado

$> vim /etc/httpd/conf.d/ssl.conf


100: SSLCertificateFile /etc/pki/tls/certs/ca.crt
107: SSLCertificateKeyFile /etc/pki/tls/private/ca.key
Reiniciamos Apache
$> systemctl restart httpd
Administracin de MySQL
##############################################################
Por consola
$> mysql -u root -p
Por web (Instalar PHPMyAdmin)
-----------------------------$> cd /var/www/html/
$> wget http://hivelocity.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.2.1
2/phpMyAdmin-4.2.12-all-languages.zip
$> unzip phpMyAdmin-4.2.12-all-languages.zip
$> mv phpMyAdmin-4.2.12-all-languages phpmyadmin
$> cd phpmyadmin
$> mv config.sample.inc.php config.inc.php
$> vim config.inc.php
(Poner una clave cualquiera)
17:$cfg['blowfish_secret'] = 'ajsdjkasgdkjagsdgasd';
$> restorecon -FRvv /var/www/html
Entrar a http://www.dominio1.com/phpmyadmin
usuario: root
clave: alumno
Backup Y restauracin
-----------------------------------Generar Backup
-------------------------Genearar un DUMP de todas las bases de datos
$> mysqldump -u root -p --all-databases > alldata.sql
Generar dump de una sola base datos
$> mysqldump -u root -p --database drupal > drupal.sql
Restaurar el Backup
----------------------Ej:
$> mysql -u root -p
mysql> DROP DATABASE drupal;
mysql> quit
$> mysql -u root -p < drupal.sql
Comprobar errores
$> mysqlcheck -u root -p --all-databases

Corregir errores ( ejemplo db drupal tabla users);


$> mysql -u root -p
mysql > use drupal;
mysql> REPAIR TABLE users;
Configuracin y Tunning de BD
----------------------------------$> vim /etc/my.cnf (Archivo de configuracin de MySQL)
Archivos de Ejemplo de configuracin
$>
$>
$>
$>

vim
vim
vim
vim

/usr/share/mysql/my-small.cnf
/usr/share/mysql/my-medium.cnf
/usr/share/mysql/my-large.cnf
/usr/share/mysql/my-huge.cnf

$> systemctl mariadb restart


Parmetros de Tuning
------------------------------------Ver: http://dev.mysql.com/doc/refman/5.1/en/server-parameters.html

Das könnte Ihnen auch gefallen