Servidor EC2
Servidor EC2

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:



Ubuntu Server 18.04 LTS (HVM)
SSD Volume Type
ami-0ebc8f6f580a04647

 

Paso 2.- Conectarme a Servidor via ssh


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