{"id":178,"date":"2020-05-18T20:14:18","date_gmt":"2020-05-18T20:14:18","guid":{"rendered":"http:\/\/dsantana.uas.edu.mx\/?p=178"},"modified":"2020-05-21T22:32:20","modified_gmt":"2020-05-21T22:32:20","slug":"servidor-http","status":"publish","type":"post","link":"https:\/\/dsantana.uas.edu.mx\/index.php\/2020\/05\/18\/servidor-http\/","title":{"rendered":"Servidor HTTP"},"content":{"rendered":"\n<p><strong>Apache2<\/strong><\/p>\n\n\n\n<p>Instalaci\u00f3n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# apt-get install apache2 apache2-doc<\/code><\/pre>\n\n\n\n<p><strong>Verificaci\u00f3n<\/strong><\/p>\n\n\n\n<p>En un navegador web, debemos escribir la direcci\u00f3n del servidor (http:\/\/192.168.1.100):<\/p>\n\n\n\n<p><strong>SSL<\/strong><\/p>\n\n\n\n<p><strong>Objetivo<\/strong><\/p>\n\n\n\n<p>La adici\u00f3n del soporte ssl al servidor web permite establecer conexiones seguras y encriptadas entre el servidor y el cliente. De este modo, es posible cambiar contrase\u00f1as, con la certeza de que \u00e9stas no podr\u00e1n ser interceptadas por terceros.<\/p>\n\n\n\n<p>De esta forma, es posible usar conexiones seguras como base para la implementaci\u00f3n de otros servicios como, por ejemplo, un servidor webmail.<\/p>\n\n\n\n<p><strong>Configuraci\u00f3n<\/strong><\/p>\n\n\n\n<p>Durante la instalaci\u00f3n de apache2 se crea una configuraci\u00f3n para acceso seguro (https). Por tanto, esta configuraci\u00f3n debe ser modificada para incluir los certificados auto-firmados generados previamente.<\/p>\n\n\n\n<p>Esta configuraci\u00f3n se almacena en el archivo \/etc\/apache2\/sites-available\/default-ssl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/apache2\/sites-available\/default-ssl<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># &#91;...]\n\n        #   SSL Engine Switch:\n        #   Enable\/Disable SSL for this virtual host.\n        SSLEngine on\n\n        #   A self-signed (snakeoil) certificate can be created by installing\n        #   the ssl-cert package. See\n        #   \/usr\/share\/doc\/apache2.2-common\/README.Debian.gz for more info.\n        #   If both key and certificate are stored in the same file, only the\n        #   SSLCertificateFile directive is needed.\n        SSLCertificateFile     \/etc\/ssl\/certs\/server.crt\n        SSLCertificateKeyFile  \/etc\/ssl\/private\/server.key\n\n# &#91;...]<\/code><\/pre>\n\n\n\n<p>Despu\u00e9s, debe activarse el m\u00f3dulo&nbsp;<em>ssl<\/em>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# a2enmod ssl\nEnabling module ssl.\nSee \/usr\/share\/doc\/apache2.2-common\/README.Debian.gz on how to configure SSL and create self-signed certificates.\nTo activate the new configuration, you need to run:\n  service apache2 restart<\/code><\/pre>\n\n\n\n<p>Y el nuevo&nbsp;<em>site<\/em>&nbsp;tambi\u00e9n debe activarse:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# a2ensite default-ssl\nEnabling site default-ssl.\nTo activate the new configuration, you need to run:\n  service apache2 reload<\/code><\/pre>\n\n\n\n<p>Finalmente, debe reiniciar el servicio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# service apache2 restart<\/code><\/pre>\n\n\n\n<p><strong>Verificaci\u00f3n<\/strong><\/p>\n\n\n\n<p>En un navegador de internet, inserte la direcci\u00f3n del servidor (https:\/\/192.168.1.100). Despu\u00e9s aparecer\u00e1 el aviso del certificado auto-firmado:<\/p>\n\n\n\n<p><strong>PHP<\/strong><\/p>\n\n\n\n<p><strong>Objetivo<\/strong><\/p>\n\n\n\n<p>Expandir la funcionalidad del servidor de internet, activando el soporte php.<\/p>\n\n\n\n<p><strong>Instalaci\u00f3n<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# apt-get install php libapache2-mod-php<\/code><\/pre>\n\n\n\n<p>Reiniciar el servidor apache2:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# service apache2 restart<\/code><\/pre>\n\n\n\n<p><strong>Verificaci\u00f3n<\/strong><\/p>\n\n\n\n<p>Para verificar la instalaci\u00f3n del soporte php, basta con crear una p\u00e1gina de Internet que muestre las caracter\u00edsticas de la instalaci\u00f3n php. En este caso, se crear\u00e1 una p\u00e1gina en \/var\/www\/html\/phpinfo.php:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/var\/www\/html\/phpinfo.php<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n    phpinfo();\n?><\/code><\/pre>\n\n\n\n<p>Con el navegador de Internet y escribiendo la direcci\u00f3n http:\/\/192.168.1.100\/phpinfo.php, se podr\u00e1 acceder a la p\u00e1gina:<\/p>\n\n\n\n<p>De la misma manera, tambi\u00e9n puede ser verificado el acceso seguro a trav\u00e9s del protocolo https utilizando la direcci\u00f3n https:\/\/192.168.1.100\/phpinfo.php.<\/p>\n\n\n\n<p>Una vez verificado el funcionamiento, deber\u00e1 apagarse la p\u00e1gina de pruebas, dado que las informaciones que \u00e9sta contiene pueden comprometer la seguridad del servidor:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# rm \/var\/www\/html\/phpinfo.php<\/code><\/pre>\n\n\n\n<p><strong>MySQL<\/strong><\/p>\n\n\n\n<p><strong>Objetivo<\/strong><\/p>\n\n\n\n<p>Expandir la funcionalidad del servidor de Internet, activando el soportemySQL del php.<\/p>\n\n\n\n<p><strong>Instalaci\u00f3n<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# apt-get install php-mysql<\/code><\/pre>\n\n\n\n<p>Reiniciar el servidor apache:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# service apache2 restart<\/code><\/pre>\n\n\n\n<p><strong>Verificaci\u00f3n<\/strong><\/p>\n\n\n\n<p>Para verificar la instalaci\u00f3n del soportemySQL del php, basta con crear una p\u00e1gina de Internet que muestre las caracter\u00edsticas de la instalaci\u00f3n php. En este caso, se crear\u00e1 una p\u00e1gina en \/var\/www\/phpinfo.php:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/var\/www\/phpinfo.php<\/code><\/pre>\n\n\n\n<p>En seguida puede buscarse la p\u00e1gina en un navegador de internet, escribiendo la direcci\u00f3n http:\/\/192.168.1.100\/phpinfo.php. La informaci\u00f3n sobre el controlador mysql debe aparecer:<\/p>\n\n\n\n<p>El controlador mysqli tambi\u00e9n debe aparecer disponible:<\/p>\n\n\n\n<p>Una vez realizada la prueba de funcionamiento, se debe apagar esta p\u00e1gina de prueba, porque la informaci\u00f3n que contiene puede comprometer la seguridad del servidor:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# rm \/var\/www\/phpinfo.php<\/code><\/pre>\n\n\n\n<p><strong>Userdir<\/strong><\/p>\n\n\n\n<p><strong>Objetivo<\/strong><\/p>\n\n\n\n<p>Ofrecerle a cada usuario la posibilidad de crear p\u00e1ginas de Internet personales.<\/p>\n\n\n\n<p><strong>Configuraci\u00f3n<\/strong><\/p>\n\n\n\n<p>Una vez que la instalaci\u00f3n del servidor http concluye, la configuraci\u00f3n del soporte para crear p\u00e1ginas personales se consigue con la activaci\u00f3n del m\u00f3dulo userdir del servidor apache2:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# a2enmod userdir\nEnabling module userdir.\nRun '\/etc\/init.d\/apache2 restart' to activate new configuration!<\/code><\/pre>\n\n\n\n<p><strong>Activar soporte PHP<\/strong><\/p>\n\n\n\n<p>La ejecuci\u00f3n de scripts php est\u00e1 desactivada en las p\u00e1ginas personales. Para activarla, se necesita comentar la l\u00ednea php_admin_value engine Off en el archivo \/etc\/apache2\/mods-available\/php.conf:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/apache2\/mods-available\/php.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># &#91;...]\n\n# Running PHP scripts in user directories is disabled by default\n#\n# To re-enable PHP in user directories comment the following lines\n# (from &lt;IfModule ...> to &lt;\/IfModule>.) Do NOT set it to On as it\n# prevents .htaccess files from disabling it.\n&lt;IfModule mod_userdir.c>\n    &lt;Directory \/home\/*\/public_html>\n        # php_admin_value engine Off\n    &lt;\/Directory>\n&lt;\/IfModule>\n\n# &#91;...]<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/apache2\/mods-enabled\/userdir.conf<\/code><\/pre>\n\n\n\n<p>En la l\u00ednea 7 agregar AllowOverride All<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;IfModule mod_userdir.c>\n        UserDir public_html\n        UserDir disabled root\n\n        &lt;Directory \/home\/*\/public_html>\n                AllowOverride FileInfo AuthConfig Limit Indexes\n                AllowOverride All\n                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec\n                Require method GET POST OPTIONS\n        &lt;\/Directory>\n&lt;\/IfModule>\n\n# vim: syntax=apache ts=4 sw=4 sts=4 sr noet<\/code><\/pre>\n\n\n\n<p>Luego, reiniciar el servidor apache2:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# service apache2 restart<\/code><\/pre>\n\n\n\n<p>De esta manera, queda activado el soporte para p\u00e1ginas personales en el servidor http.<\/p>\n\n\n\n<p><strong>Utilizaci\u00f3n<\/strong><\/p>\n\n\n\n<p>Las p\u00e1ginas personales son accesibles a trav\u00e9s de una direcci\u00f3n del g\u00e9nero \u201chttp:\/\/servidor\/~usuario\u201d. Cuando el servidor recibe un pedido de este g\u00e9nero, intenta encontrar el contenido en un directorio espec\u00edfico llamado public_html en la carpeta home del usuario. Por tanto, para que cada usuario pueda crear sus propias p\u00e1ginas, debe primero, crear un directorio llamado \u201cpublic_html\u201d en su carpeta home, donde ubicar\u00e1 sus contenidos.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~$ mkdir ~\/public_html<\/code><\/pre>\n\n\n\n<p>Una vez creado el directorio, el usuario puede comenzar a crear contenidos.<\/p>\n\n\n\n<p><strong>Verificaci\u00f3n<\/strong><\/p>\n\n\n\n<p>Utilizando un navegador, escriba una url que apunte hacia las p\u00e1ginas personales de un usuario:<\/p>\n\n\n\n<p><strong>MySQL: MariaDB<\/strong><\/p>\n\n\n\n<p><strong>Objetivo<\/strong><\/p>\n\n\n\n<p>Instalar el servidor de base de datos MySQL MariaDB, con una configuraci\u00f3n m\u00ednima.<\/p>\n\n\n\n<p><strong>Instalaci\u00f3n<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# apt install mariadb-server mariadb-client<\/code><\/pre>\n\n\n\n<p><strong>Configuraci\u00f3n<\/strong><\/p>\n\n\n\n<p>Terminada la instalaci\u00f3n, se debe ejecutar el comando mysql_secure_installation, que hace una serie de verificaciones e cambios en la configuraci\u00f3n para garantizar la seguridad del servidor mysql.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# mysql_secure_installation<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# mysql_secure_installation\n \nNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB\n      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!\n \nIn order to log into MariaDB to secure it, we`ll need the current\npassword for the root user.  If you`ve just installed MariaDB, and\nyou haven`t set the root password yet, the password will be blank,\nso you should just press enter here.\n \nEnter current password for root (enter for none):\nOK, successfully used password, moving on...\n \nSetting the root password ensures that nobody can log into the MariaDB\nroot user without the proper authorisation.\n \nSet root password? &#91;Y\/n] n\n ... skipping.\n \nBy default, a MariaDB installation has an anonymous user, allowing anyone\nto log into MariaDB without having to have a user account created for\nthem.  This is intended only for testing, and to make the installation\ngo a bit smoother.  You should remove them before moving into a\nproduction environment.\n \nRemove anonymous users? &#91;Y\/n]\n ... Success!\n \nNormally, root should only be allowed to connect from 'localhost'.  This\nensures that someone cannot guess at the root password from the network.\n \nDisallow root login remotely? &#91;Y\/n]\n ... Success!\n \nBy default, MariaDB comes with a database named 'test' that anyone can\naccess.  This is also intended only for testing, and should be removed\nbefore moving into a production environment.\n \nRemove test database and access to it? &#91;Y\/n]\n - Dropping test database...\n ... Success!\n - Removing privileges on test database...\n ... Success!\n \nReloading the privilege tables will ensure that all changes made so far\nwill take effect immediately.\n \nReload privilege tables now? &#91;Y\/n]\n ... Success!\n \nCleaning up...\n \nAll done!  If you`ve completed all of the above steps, your MariaDB\ninstallation should now be secure.\n \nThanks for using MariaDB!\nroot@server:~#<\/code><\/pre>\n\n\n\n<p><strong>Verificaci\u00f3n<\/strong><\/p>\n\n\n\n<p>A partir de este momento, es posible acceder al monitor de MySQL:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@server:~# mysql\nWelcome to the MariaDB monitor.  Commands end with ; or \\g.\nYour MariaDB connection id is 664224\nServer version: 10.1.23-MariaDB-9+deb9u1 Debian 9.0\n \nCopyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.\n \nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n \nMariaDB &#91;(none)]> show databases;\n+--------------------+\n| Database           |\n+--------------------+\n| information_schema |\n| mysql              |\n| performance_schema |\n+--------------------+\n3 rows in set (0.00 sec)\n \nMariaDB &#91;(none)]> quit;\nBye\n \nroot@server:~#<\/code><\/pre>\n\n\n\n<p><strong>ProFTPd<\/strong><\/p>\n\n\n\n<p><strong>de <\/strong><strong>ProFTPd<\/strong><strong> <\/strong>(Puerto 21)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get install proftpd<\/code><\/pre>\n\n\n\n<p>Archivo de configuraci\u00f3n de ProFTPd<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/proftpd\/proftpd.conf<\/code><\/pre>\n\n\n\n<p>Solo cambiar lo siguiente<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>UseIPv6                         off\nDefaultRoot                     ~<\/code><\/pre>\n\n\n\n<p>Reiniciae el ProFTPd<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/init.d\/proftpd restart<\/code><\/pre>\n\n\n\n<p>Probar la conexi\u00f3n con el FileZilla<\/p>\n\n\n\n<p><strong>MySQL &#8211; Debian 10<\/strong> (mejoras)<\/p>\n\n\n\n<p>Manejador de Base de Datos<\/p>\n\n\n\n<p>Puerto 3306<\/p>\n\n\n\n<p>actualizar sources.list &nbsp; <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/apt\/sources.list<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>deb http:\/\/deb.debian.org\/debian buster main\ndeb-src http:\/\/deb.debian.org\/debian buster main\n\ndeb http:\/\/deb.debian.org\/debian-security\/ buster\/updates main\ndeb-src http:\/\/deb.debian.org\/debian-security\/ buster\/updates main\n\ndeb http:\/\/deb.debian.org\/debian buster-updates main\ndeb-src http:\/\/deb.debian.org\/debian buster-updates main<\/code><\/pre>\n\n\n\n<p>Verificar lista de actualizaciones<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get update<\/code><\/pre>\n\n\n\n<p>Instalar actualizaciones<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get upgrade<\/code><\/pre>\n\n\n\n<p>Reiniciar el sistema<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>init 6<\/code><\/pre>\n\n\n\n<p>Instalar gnupg<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get install gnupg  <\/code><\/pre>\n\n\n\n<p>Ir al directorio \/tmp<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/tmp<\/code><\/pre>\n\n\n\n<p>Descargar el archivo Debian<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/dev.mysql.com\/get\/mysql-apt-config_0.8.13-1_all.deb<\/code><\/pre>\n\n\n\n<p>Instalar el paquete<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dpkg -i mysql-apt-config*<\/code><\/pre>\n\n\n\n<p>Instalar el servidor de default de MySQL<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get install default-mysql-server<\/code><\/pre>\n\n\n\n<p>Configurar los accesos de los usuarios<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql -u root\nCREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nGRANT ALL ON phpmyadmin.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'debian';\nFLUSH PRIVILEGES;\nEXIT;\n\nOtorgar todos los permisos al usuario root\nmysql -u root -p\nuse mysql;\nGRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'debian' WITH GRANT OPTION;\nFLUSH PRIVILEGES;\nEXIT;\n<\/code><\/pre>\n\n\n\n<p><strong>PHPMyAdmin<\/strong><\/p>\n\n\n\n<p>Interfaz Web para MySQL<\/p>\n\n\n\n<p>Puerto 80, 443 y 3306<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get install php-imagick php-phpseclib php-php-gettext php7.3-common php7.3-mysql php7.3-gd php7.3-imap php7.3-json php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl php7.3-gmp<\/code><\/pre>\n\n\n\n<p>Crear un directorio temporal \/tmp y acceder a el.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir tmp\ncd \/tmp<\/code><\/pre>\n\n\n\n<p>descargar el paquete de PHPMyAdmin<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/files.phpmyadmin.net\/phpMyAdmin\/4.9.0.1\/phpMyAdmin-4.9.0.1-all-languages.zip<\/code><\/pre>\n\n\n\n<p>Instalar unzip<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get install unzip<\/code><\/pre>\n\n\n\n<p>Descomprimir el archivo descargado<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>unzip phpMyAdmin-4.9.0.1-all-languages.zip<\/code><\/pre>\n\n\n\n<p>Mover el archivo a \/usr\/share\/phpmyadmin<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mv phpMyAdmin-4.9.0.1-all-languages \/usr\/share\/phpmyadmin<\/code><\/pre>\n\n\n\n<p>Cambiar los permisos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chown -R www-data:www-data \/usr\/share\/phpmyadmin<\/code><\/pre>\n\n\n\n<p>Crear los accesos para PHPMyAdmin<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/etc\/apache2\/conf-available\/<\/code><\/pre>\n\n\n\n<p>Crear phpmyadmin.conf<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/apache2\/conf-available\/phpmyadmin.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># phpMyAdmin default Apache configuration\n\nAlias \/phpmyadmin \/usr\/share\/phpmyadmin\n\n&lt;Directory \/usr\/share\/phpmyadmin>\n    Options SymLinksIfOwnerMatch\n    DirectoryIndex index.php\n\n    &lt;IfModule mod_php5.c>\n        &lt;IfModule mod_mime.c>\n            AddType application\/x-httpd-php .php\n        &lt;\/IfModule>\n        &lt;FilesMatch \".+\\.php$\">\n            SetHandler application\/x-httpd-php\n        &lt;\/FilesMatch>\n\n        php_value include_path .\n        php_admin_value upload_tmp_dir \/var\/lib\/phpmyadmin\/tmp\n        php_admin_value open_basedir \/usr\/share\/phpmyadmin\/:\/etc\/phpmyadmin\/:\/var\/lib\/phpmyadmin\/:\/usr\/share\/php\/php-gettext\/:\/usr\/share\/php\/php-php-gettext\/:\/usr\/share\/javascript\/:\/usr\/share\/php\/tcpdf\/:\/usr\/share\/doc\/phpmyadmin\/:\/usr\/share\/php\/phpseclib\/\n        php_admin_value mbstring.func_overload 0\n    &lt;\/IfModule>\n    &lt;IfModule mod_php.c>\n        &lt;IfModule mod_mime.c>\n            AddType application\/x-httpd-php .php\n        &lt;\/IfModule>\n        &lt;FilesMatch \".+\\.php$\">\n            SetHandler application\/x-httpd-php\n        &lt;\/FilesMatch>\n\n        php_value include_path .\n        php_admin_value upload_tmp_dir \/var\/lib\/phpmyadmin\/tmp\n        php_admin_value open_basedir \/usr\/share\/phpmyadmin\/:\/etc\/phpmyadmin\/:\/var\/lib\/phpmyadmin\/:\/usr\/share\/php\/php-gettext\/:\/usr\/share\/php\/php-php-gettext\/:\/usr\/share\/javascript\/:\/usr\/share\/php\/tcpdf\/:\/usr\/share\/doc\/phpmyadmin\/:\/usr\/share\/php\/phpseclib\/\n        php_admin_value mbstring.func_overload 0\n    &lt;\/IfModule>\n\n&lt;\/Directory>\n\n# Disallow web access to directories that don't need it\n&lt;Directory \/usr\/share\/phpmyadmin\/templates>\n    Require all denied\n&lt;\/Directory>\n&lt;Directory \/usr\/share\/phpmyadmin\/libraries>\n    Require all denied\n&lt;\/Directory>\n&lt;Directory \/usr\/share\/phpmyadmin\/setup\/lib>\n    Require all denied\n&lt;\/Directory><\/code><\/pre>\n\n\n\n<p>activar el archivo creado<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a2enconf phpmyadmin.conf<\/code><\/pre>\n\n\n\n<p>Crear un directorio <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p \/var\/lib\/phpmyadmin\/tmp<\/code><\/pre>\n\n\n\n<p>Cambiar los permisos del directorio<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chown www-data:www-data \/var\/lib\/phpmyadmin\/tmp<\/code><\/pre>\n\n\n\n<p>Reiniciar el apache2<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl reload apache2<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Apache2 Instalaci\u00f3n Verificaci\u00f3n En un navegador web, debemos escribir la direcci\u00f3n del servidor (http:\/\/192.168.1.100): SSL Objetivo La adici\u00f3n del soporte ssl al servidor web permite establecer conexiones seguras y encriptadas entre el servidor y el cliente. De este modo, es posible cambiar contrase\u00f1as, con la certeza de que \u00e9stas no podr\u00e1n ser interceptadas por terceros. De esta forma, es posible usar conexiones seguras como base para la implementaci\u00f3n de otros servicios como, por ejemplo, un servidor webmail. Configuraci\u00f3n Durante la instalaci\u00f3n de apache2 se crea una configuraci\u00f3n para acceso seguro (https). Por tanto, esta configuraci\u00f3n debe ser modificada para incluir los certificados auto-firmados generados previamente. Esta configuraci\u00f3n se almacena en el archivo \/etc\/apache2\/sites-available\/default-ssl: Despu\u00e9s, debe activarse el m\u00f3dulo&nbsp;ssl: Y el nuevo&nbsp;site&nbsp;tambi\u00e9n debe activarse: Finalmente, debe reiniciar el servicio: Verificaci\u00f3n En un navegador de internet, inserte la direcci\u00f3n del servidor (https:\/\/192.168.1.100). Despu\u00e9s aparecer\u00e1 el aviso del certificado auto-firmado: PHP Objetivo Expandir la funcionalidad del servidor de internet, activando el soporte php. Instalaci\u00f3n Reiniciar el servidor apache2: Verificaci\u00f3n Para verificar la instalaci\u00f3n del soporte php, basta con crear una p\u00e1gina de Internet que muestre las caracter\u00edsticas de la instalaci\u00f3n php. En este caso, se crear\u00e1 una p\u00e1gina en \/var\/www\/html\/phpinfo.php: Con el navegador de Internet y escribiendo la direcci\u00f3n http:\/\/192.168.1.100\/phpinfo.php, se podr\u00e1 acceder a la p\u00e1gina: De la misma manera, tambi\u00e9n puede ser verificado el acceso seguro a trav\u00e9s del protocolo https utilizando la direcci\u00f3n https:\/\/192.168.1.100\/phpinfo.php. Una vez verificado el funcionamiento, deber\u00e1 apagarse la p\u00e1gina de pruebas, dado que las informaciones que \u00e9sta contiene pueden comprometer la seguridad del servidor: MySQL Objetivo Expandir la funcionalidad del servidor de Internet, activando el soportemySQL del php. Instalaci\u00f3n Reiniciar el servidor apache: Verificaci\u00f3n Para verificar la instalaci\u00f3n del soportemySQL del php, basta con crear una p\u00e1gina de Internet que muestre las caracter\u00edsticas de la instalaci\u00f3n php. En este caso, se crear\u00e1 una p\u00e1gina en \/var\/www\/phpinfo.php: En seguida puede buscarse la p\u00e1gina en un navegador de internet, escribiendo la direcci\u00f3n http:\/\/192.168.1.100\/phpinfo.php. La informaci\u00f3n sobre el controlador mysql debe aparecer: El controlador mysqli tambi\u00e9n debe aparecer disponible: Una vez realizada la prueba de funcionamiento, se debe apagar esta p\u00e1gina de prueba, porque la informaci\u00f3n que contiene puede comprometer la seguridad del servidor: Userdir Objetivo Ofrecerle a cada usuario la posibilidad de crear p\u00e1ginas de Internet personales. Configuraci\u00f3n Una vez que la instalaci\u00f3n del servidor http concluye, la configuraci\u00f3n del soporte para crear p\u00e1ginas personales se consigue con la activaci\u00f3n del m\u00f3dulo userdir del servidor apache2: Activar soporte PHP La ejecuci\u00f3n de scripts php est\u00e1 desactivada en las p\u00e1ginas personales. Para activarla, se necesita comentar la l\u00ednea php_admin_value engine Off en el archivo \/etc\/apache2\/mods-available\/php.conf: En la l\u00ednea 7 agregar AllowOverride All Luego, reiniciar el servidor apache2: De esta manera, queda activado el soporte para p\u00e1ginas personales en el servidor http. Utilizaci\u00f3n Las p\u00e1ginas personales son accesibles a trav\u00e9s de una direcci\u00f3n del g\u00e9nero \u201chttp:\/\/servidor\/~usuario\u201d. Cuando el servidor recibe un pedido de este g\u00e9nero, intenta encontrar el contenido en un directorio espec\u00edfico llamado public_html en la carpeta home del usuario. Por tanto, para que cada usuario pueda crear sus propias p\u00e1ginas, debe primero, crear un directorio llamado \u201cpublic_html\u201d en su carpeta home, donde ubicar\u00e1 sus contenidos. Una vez creado el directorio, el usuario puede comenzar a crear contenidos. Verificaci\u00f3n Utilizando un navegador, escriba una url que apunte hacia las p\u00e1ginas personales de un usuario: MySQL: MariaDB Objetivo Instalar el servidor de base de datos MySQL MariaDB, con una configuraci\u00f3n m\u00ednima. Instalaci\u00f3n Configuraci\u00f3n Terminada la instalaci\u00f3n, se debe ejecutar el comando mysql_secure_installation, que hace una serie de verificaciones e cambios en la configuraci\u00f3n para garantizar la seguridad del servidor mysql. Verificaci\u00f3n A partir de este momento, es posible acceder al monitor de MySQL: ProFTPd de ProFTPd (Puerto 21) Archivo de configuraci\u00f3n de ProFTPd Solo cambiar lo siguiente Reiniciae el ProFTPd Probar la conexi\u00f3n con el FileZilla MySQL &#8211; Debian 10 (mejoras) Manejador de Base de Datos Puerto 3306 actualizar sources.list &nbsp; Verificar lista de actualizaciones Instalar actualizaciones Reiniciar el sistema Instalar gnupg Ir al directorio \/tmp Descargar el archivo Debian Instalar el paquete Instalar el servidor de default de MySQL Configurar los accesos de los usuarios PHPMyAdmin Interfaz Web para MySQL Puerto 80, 443 y 3306 Crear un directorio temporal \/tmp y acceder a el. descargar el paquete de PHPMyAdmin Instalar unzip Descomprimir el archivo descargado Mover el archivo a \/usr\/share\/phpmyadmin Cambiar los permisos Crear los accesos para PHPMyAdmin Crear phpmyadmin.conf activar el archivo creado Crear un directorio Cambiar los permisos del directorio Reiniciar el apache2<\/p>\n","protected":false},"author":1,"featured_media":309,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,5,12,1,10,6],"tags":[51],"class_list":["post-178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-debian","category-docencia","category-linux","category-sin-categoria","category-sistemas-operativos","category-talleres","tag-servidor-http"],"_links":{"self":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts\/178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/comments?post=178"}],"version-history":[{"count":10,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts\/178\/revisions"}],"predecessor-version":[{"id":197,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/posts\/178\/revisions\/197"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/media\/309"}],"wp:attachment":[{"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/media?parent=178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/categories?post=178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dsantana.uas.edu.mx\/index.php\/wp-json\/wp\/v2\/tags?post=178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}