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.
Configuramos apache
cd /etc/apache2
nano apache2.conf
Buscamos la directiva "/var/www/" y agregamos esto:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
es decir debe quedar asi:
<Directory "/var/www/">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
</Directory>
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
Otra forma de instalar php
Configuraciones previas
0.- Actualizamos indices locales y elevamos distribucion si hay...
apt update
apt upgrade
apt dist-upgrade
Instalamos el repositorio
1.-
apt install software-properties-common
add-apt-repository ppa:ondrej/php
Podemos buscar modulos, por si los necesitamos
2.- apt search php8.0-* |less
Luego de ver que modulos podemos instalar, lo hacemos asi...
3.- apt install php8.0 php8.0-gd php8.0-xml php8.0-soap php8.0-mbstring php8.0-mysql
Instalamos apache
4.- apt install libapache2-mod-php8.0
Si instalamos ngix como servidor, estas serian las lineas
apt install php8.0-fpm
systemctl enable php8.0-fpm
systemctl start php8.0-fpm
Habilitamos el modulo que acabos de instalar en el paso anterior
5.- a2enmod php8.0
Si instalamos varias versiones, con este comando podemos seleccionar la version de php a usar
6.- update-alternatives --config php
Vemos la version instalada
7.- php -v
8.- Servidor Virtual, en localhost:
Abre el archivo "hosts" ubicado en C:\Windows\System32\drivers\etc
Añade la IP local y el nombre de host que desees virtualizar separados por un espacio o tabulador. Por ejemplo:
127.0.0.1 tewys.test
Configurar Apache para aceptar hosts virtuales
El segundo paso es abrir el archivo de configuración de Apache para el host virtual "vhost".
El archivo se encuentra en esta ruta en mi Xampp:
C:\xampp\apache\conf\extra\httpd-vhosts.conf
Sigue estos pasos para configurar Apache:
Abre el archivo httpd-vhosts.conf con cualquier editor de texto.
Agrega las siguientes líneas al final del archivo:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@tewys.test
DocumentRoot "C:/xampp/htdocs/T_aws/html/"
ServerName tewys.test
<Directory "C:/miproyecto/htdocs/T_aws/html/">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
Instalar Go
Tema 4 Jabones de Romero
Tema 3. Jabón de aceite de oliva
Tema 2. Aquí os dejos dos nuevas recetas para elaborar
Jabones caseros
Ve y Atrévete a Encontrar Tu Proposito de Vida
¿Cómo funciona Mi Doctor Responde?
Verdad a medias
Autorespuestas hipnoticas
Ganas mas con Tewys