Vamos a configurar un servidor EC2 de aws paso a paso. Le vamos instalar apache, php, phpmyadmin sobre un servidor ubuntu.
Configurar un servidor de amazon web service (aws) en minutos
Vamos a configurar nuestro servidor web con apache, php, phpmyadmin, certificados https y algunas configuraciones basicas para arrancar de inmediato con nuestro sitio web. En menos de 20 minutos tu sitio web estara listo para que todo el mundo lo vea.
Paso 1.- Activar Instancia:
Paso 3.- Me cambio a administrador
sudo su
Paso 4.- Actualizar
apt-get update
apt-get upgrade
Paso 5.- Instala Apache
apt-get install apache2
Paso 6.- Instalo php
apt-get install php
Paso 7.- Instado algunas librerias extras de PHP
apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml
Paso 8.- Me muevo a /etc/php/7.2/apache2/php.ini, para configurar los errores, mientras programamos, cuando este en produccion, lo dejamos como estaba. De igual manera, configuramos para subir archivos grandes
cd /etc/php/7.2/apache2
nano php.ini
display_errors = On
Cuando no queramos que se muestren los errores, lo regresamos a Off.
*** Ahora, sonfiguracion para subir archivos grandes:
Modificaremos estos 3 parametros:
post_max_size
upload_max_filesize
memory_limit
Dejalos asi:
post_max_size 23138 (esta a 8)
upload_max_filesize 23130 (esta en 2)
memory_limit 23148 (128)
Para que se ejecuten los cambios, reinicia apache:
/etc/init.d/apache2 restart
Paso 9.- Actualizo de nuevo
apt-get update
apt-get upgrade
Paso 10.- Instalo PHPMYADMIN
apt-get install php-mysql
apt-get install mysql-server mysql-client
service mysql start
apt-get install phpmyadmin php-mbstring php-gettext
Coloca una contraseña para el admin de phpmyadmin.
Paso 11.- Cambiar de Directorio a Phpmyadmin
Entrar a /etc/phpmyadmin/apache.conf, osea asi:
nano /etc/phpmyadmin/apache.conf
y editar la linea:
Alias /phpmyadmin /usr/share/phpmyadmin
por esta:
Alias /privado/phpmyadmin /usr/share/phpmyadmin
Paso 12.- Reiniciasmo apache
/etc/init.d/apache2 restart
Paso 13.- Agregamos una base de datos RDS
Necesitamos que phpmyadmin administre nuestra base de datos RDS, que previamente creamos en aws. Recuerda colocar los datos de la base de datos.
nano /etc/phpmyadmin/config.inc.php
-- Agregar estas lineas al final del documento --
$i++;
$cfg['Servers'][$i]['host'] = 'direccion publica de de la base de datos...';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['compress'] = FALSE;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = '__usuario__';
$cfg['Servers'][$i]['password'] = '__clave__';
Paso 14.- Damos permisos al directorio.
Necesitamos subir archivos via ftp, liberamos el directorio /var de esta manera:
Nos movemos primero:
cd /var
Luego, cambiamos los permisos de la carpeta www:
chmod 777 www
Luego nos movemos dentro de www
cd www
Y cambiamos los permisos de la carpeta html:
chmod 777 html
Paso 15.- Instalar certbot, para los certificados https
apt install certbot
Paso 16.- Detenemos el servidor
service apache2 stop
Paso 17.- Instalo el certificado para el dominio
certbot certonly -d dominio.com -d www.dominio.com --noninteractive --standalone --agree-tos --register-unsafely-without-email
Logico, cambia dominio.com por tu dominio
Paso 18.- Creamos un archivo en /etc/apache2/conf-available/ssl-params.conf, asi:
nano /etc/apache2/conf-available/ssl-params.conf
Paso 19.- Agregale este contenido:
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
# Disable preloading HSTS for now. You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
# Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
# Requires Apache >= 2.4.11
SSLSessionTickets Off
Paso 20.- Viaja a /etc/apache2/sites-enabled/
Osea:
cd /etc/apache2/sites-enabled/
Paso 21.- Creamos un nuevo archivo .conf, para administrar nuestro dominio (virtual-host)
nano tudominio.com.conf
Paso 22.- Agrega las lineas necesarias
Buscar en tu computadora...
Paso 23.- Activa los servidores virtuales que creaste asi...
a2ensite tudominio.com.conf
Paso 24.- Ejecuta estos comando, para pulir la configuracion
a2enmod ssl
a2enmod headers
a2ensite default-ssl
a2enconf ssl-params
apache2ctl configtest
Paso 25.- Reinicio Apache
systemctl restart apache2
o
systemctl reload apache2
Paso 26.- Urls Amigables.
Habilita el modulo rewrite de Apache con el siguiente comando:
a2enmod rewrite
Reiniciamos apache:
service apache2 restart
Verificamos que este instalado el modulo:
apache2ctl -M
Sube el archivo .htaccess en el directorio html (htdocs) con este contenido:
Options -MultiViews
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Paso 27.- Instalamos el editor de video
add-apt-repository ppa:mc3man/trusty-media
apt-get update
apt-get install ffmpeg
ffmpeg -version
Paso 28.- Instalar SOAP
apt-get install php7.2-soap
systemctl restart apache2
..........
Contactame para ayudarte:
Ing. Arturo Towonk
WhatsApp: (+52) 2381572039
Correo: arturo@tewys.com
Telegram: @ArturoTw