<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>phpmyadmin &#8211; danisanchez.net</title>
	<atom:link href="https://danisanchez.net/tag/phpmyadmin/feed/" rel="self" type="application/rss+xml" />
	<link>https://danisanchez.net</link>
	<description></description>
	<lastBuildDate>Tue, 07 Dec 2021 08:54:12 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://danisanchez.net/wp-content/uploads/2026/07/cropped-favicon-32x32.png</url>
	<title>phpmyadmin &#8211; danisanchez.net</title>
	<link>https://danisanchez.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Instalar LAMP en Manjaro (Linux, Apache, MySQL y PHP)</title>
		<link>https://danisanchez.net/instalar-lamp-en-manjaro-linux-apache-mysql-y-php/</link>
					<comments>https://danisanchez.net/instalar-lamp-en-manjaro-linux-apache-mysql-y-php/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Tue, 07 Dec 2021 08:54:12 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[manjaro]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=11987</guid>

					<description><![CDATA[Introducción Como ya he comentado en algún post, Manjaro es una de mis distros favoritas. Una Arch Rolling con un entorno de escritorio a prueba de bombas (XFCE). Sin embargo siempre me muevo en la rama Debian-Ubuntu estable. Uno de los principales motivos es el Stack LAMP (Linux Apache MySQL PHP). Trabajo a menudo con [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Introducción</h2>



<p class="wp-block-paragraph">Como ya he comentado en algún post, Manjaro es una de mis distros favoritas. Una<em> Arch Rolling</em> con un entorno de escritorio a prueba de bombas (XFCE). </p>



<p class="wp-block-paragraph">Sin embargo siempre me muevo en la rama Debian-Ubuntu estable. Uno de los principales motivos es el Stack LAMP (Linux Apache MySQL PHP). Trabajo a menudo con proyectos web en local, casi siempre webs con problemas que tengo que analizar y reparar antes de aplicar los cambios en producción.</p>



<p class="wp-block-paragraph">La instalación del Stack LAMP en Debian-Ubuntu es bastante sencilla, aquí puedes ver un artículo que escribí hace un par de años y que a día de hoy sigue vigente (lo único que cambia es la versión de PHP).</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-danisanchez-net wp-block-embed-danisanchez-net"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="GBrrs0dMcJ"><a href="https://danisanchez.net/instalar-lamp-linux-apache-mysql-y-php-en-gnu-linux-ubuntu-y-derivadas/">Instalar LAMP (Linux, Apache, MySQL y PHP) en GNU/Linux (Ubuntu y derivadas)</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="«Instalar LAMP (Linux, Apache, MySQL y PHP) en GNU/Linux (Ubuntu y derivadas)» — Dani Sánchez" src="https://danisanchez.net/instalar-lamp-linux-apache-mysql-y-php-en-gnu-linux-ubuntu-y-derivadas/embed/#?secret=ckfyQVqgUp#?secret=GBrrs0dMcJ" data-secret="GBrrs0dMcJ" width="500" height="282" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<p class="wp-block-paragraph">Pero siempre que he intentado instalar LAMP en otras ramas, como RPM o ARCH, he tenido diversos problemas para hacerlo funcionar, desistiendo y volviendo a mi zona de confort.</p>



<p class="wp-block-paragraph">Hace poco me lié la manda a la cabeza para instalarlo en Fedora, con excelente resultado (puedes ver el artículo completo).</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-danisanchez-net wp-block-embed-danisanchez-net"><div class="wp-block-embed__wrapper">
https://danisanchez.net/instalar-lamp-linux-apache-mysql-y-php-en-fedora-34/
</div></figure>



<p class="wp-block-paragraph">Pero en Manjaro, aunque tiene algunas similitudes con Fedora, hay que dar algunos pasos más, sobre todo en lo que a configuración de archivos se refiere. </p>



<p class="wp-block-paragraph">Como siempre, este artículo no solo está hecho para quien lo necesite, si no para mí mismo, tenerlo como referencia para cuando necesite volver a realizar una instalación, sin tener que buscar en varios posts por la Red. Vamos al lío&#8230;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Artículo disponible en vídeo</p></blockquote>



<iframe width="100%" height="400" src="https://www.youtube-nocookie.com/embed/0Dk1cNf4qaw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Instalar el servidor web Apache</h2>



<p class="wp-block-paragraph">Abrimos un terminal e instalamos el paquete <strong>apache</strong>.</p>



<pre class="wp-block-code"><code>sudo pacman -S apache</code></pre>



<p class="wp-block-paragraph">Una vez instalado, vamos a revisar el archivo de configuración de Apache para comprobar que el módulo <em>unique_id_module</em> está comentado:</p>



<p class="wp-block-paragraph">Para ello desde el terminal abrimos con el editor nano el archivo:</p>



<pre class="wp-block-code"><code>sudo nano /etc/httpd/conf/httpd.conf</code></pre>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="736" height="364" src="https://danisanchez.net/wp-content/uploads/2021/12/01-manjaro-en-linux.jpg" alt="" class="wp-image-11993" srcset="https://danisanchez.net/wp-content/uploads/2021/12/01-manjaro-en-linux.jpg 736w, https://danisanchez.net/wp-content/uploads/2021/12/01-manjaro-en-linux-300x148.jpg 300w" sizes="(max-width: 736px) 100vw, 736px" /></figure>



<p class="wp-block-paragraph">Para buscar en nano puedes usar la combinación Ctrl+W y escribir el texto a buscar:</p>



<p class="wp-block-paragraph">Esta es la línea que tenemos que mantener comentada (anteponiéndole un #)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="757" height="535" src="https://danisanchez.net/wp-content/uploads/2021/12/02-manjaro-en-linux-1.jpg" alt="" class="wp-image-11995" srcset="https://danisanchez.net/wp-content/uploads/2021/12/02-manjaro-en-linux-1.jpg 757w, https://danisanchez.net/wp-content/uploads/2021/12/02-manjaro-en-linux-1-300x212.jpg 300w" sizes="auto, (max-width: 757px) 100vw, 757px" /></figure>



<p class="wp-block-paragraph">Si ya estaba comentada, simplemente podemos salir pulsando Ctrl+X. Para guardar pulsa Ctrl+O.</p>



<p class="wp-block-paragraph">Ahora podemos habilitar el servicio de apache con el comando:</p>



<pre class="wp-block-code"><code>sudo systemctl enable httpd</code></pre>



<p class="wp-block-paragraph">E iniciarlo con el comando:</p>



<pre class="wp-block-code"><code>sudo systemctl start httpd</code></pre>



<p class="wp-block-paragraph">Si necesitamos reiniciar apache porque hayamos hecho algún cambio en la configuración, usamos el comando:</p>



<pre class="wp-block-code"><code>sudo systemctl restart httpd</code></pre>



<p class="wp-block-paragraph">No obstante, si queremos detener el servicio tecleamos el comando:</p>



<pre class="wp-block-code"><code>sudo systemctl stop httpd</code></pre>



<p class="wp-block-paragraph">Para comprobar que apache está corriendo, usa el comando:</p>



<pre class="wp-block-code"><code>sudo systemctl status httpd</code></pre>



<p class="wp-block-paragraph">Debería aparecer <strong>active (running)</strong>:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="755" height="531" src="https://danisanchez.net/wp-content/uploads/2021/12/03-manjaro-en-linux.jpg" alt="" class="wp-image-11997" srcset="https://danisanchez.net/wp-content/uploads/2021/12/03-manjaro-en-linux.jpg 755w, https://danisanchez.net/wp-content/uploads/2021/12/03-manjaro-en-linux-300x211.jpg 300w" sizes="auto, (max-width: 755px) 100vw, 755px" /></figure>



<p class="wp-block-paragraph">Para salir del monitor de estado de apache puedes detener con Ctrl+Z.</p>



<p class="wp-block-paragraph">También podemos abrir un navegador web y dirigirnos a la ruta http://localhost Debería aparecer el índice de apache (que en estos momentos estará vacío):</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="330" height="143" src="https://danisanchez.net/wp-content/uploads/2021/12/04-manjaro-en-linux-1.jpg" alt="" class="wp-image-11999" srcset="https://danisanchez.net/wp-content/uploads/2021/12/04-manjaro-en-linux-1.jpg 330w, https://danisanchez.net/wp-content/uploads/2021/12/04-manjaro-en-linux-1-300x130.jpg 300w" sizes="auto, (max-width: 330px) 100vw, 330px" /></figure>



<p class="wp-block-paragraph">Hemos terminado con apache, ahora instalaremos el gestor de bases de datos MySQL:</p>



<h2 class="wp-block-heading">Instalar MySQL (MariaDB)</h2>



<p class="wp-block-paragraph">Nos dirigimos al terminal e instalamos el paquete <strong>mysql</strong>:</p>



<pre class="wp-block-code"><code>sudo pacman -S mysql</code></pre>



<p class="wp-block-paragraph">Nos avisará de que existen dos proveedores disponibles para instalar mysql. Vamos a elegir la opción 1) mariadb:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="758" height="305" src="https://danisanchez.net/wp-content/uploads/2021/12/05-manjaro-en-linux.jpg" alt="" class="wp-image-12000" srcset="https://danisanchez.net/wp-content/uploads/2021/12/05-manjaro-en-linux.jpg 758w, https://danisanchez.net/wp-content/uploads/2021/12/05-manjaro-en-linux-300x121.jpg 300w" sizes="auto, (max-width: 758px) 100vw, 758px" /></figure>



<p class="wp-block-paragraph"><strong>IMPORTANTE</strong>: Antes de habilitar el servicio de mysql tenemos que inicializar el directorio de datos de MariaDB. Este paso no es necesario en otras ramas como Debian-Ubuntu o Fedora, pero en Manjaro (o la rama Arch en general) si.</p>



<p class="wp-block-paragraph">Para ello copiamos/pegamos el siguiente comando:</p>



<pre class="wp-block-code"><code>sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="759" height="721" src="https://danisanchez.net/wp-content/uploads/2021/12/06-manjaro-en-linux.jpg" alt="" class="wp-image-12001" srcset="https://danisanchez.net/wp-content/uploads/2021/12/06-manjaro-en-linux.jpg 759w, https://danisanchez.net/wp-content/uploads/2021/12/06-manjaro-en-linux-300x285.jpg 300w" sizes="auto, (max-width: 759px) 100vw, 759px" /></figure>



<p class="wp-block-paragraph">Ahora podemos habilitar e iniciar mysql:</p>



<pre class="wp-block-code"><code>sudo systemctl enable mysql</code></pre>



<pre class="wp-block-code"><code>sudo systemctl start mysql</code></pre>



<p class="wp-block-paragraph">Igual que con apache, tenemos los comandos <strong>restart</strong> y <strong>stop</strong> para reiniciar o detener mysql.</p>



<p class="wp-block-paragraph">Vamos a comprobar el estado de mysql con el comando:</p>



<pre class="wp-block-code"><code>sudo systemctl status mysql</code></pre>



<p class="wp-block-paragraph">Al igual que con apache, debería aparecer <strong>Active: active (running)</strong>:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="757" height="592" src="https://danisanchez.net/wp-content/uploads/2021/12/07-manjaro-en-linux.jpg" alt="" class="wp-image-12007" srcset="https://danisanchez.net/wp-content/uploads/2021/12/07-manjaro-en-linux.jpg 757w, https://danisanchez.net/wp-content/uploads/2021/12/07-manjaro-en-linux-300x235.jpg 300w" sizes="auto, (max-width: 757px) 100vw, 757px" /></figure>



<p class="wp-block-paragraph">Detenemos el monitor de estado de mysql con Ctrl+Z.</p>



<p class="wp-block-paragraph">Ahora toca securizar mysql ya que por defecto únicamente viene con el usuario root sin contraseña:</p>



<pre class="wp-block-code"><code>sudo mysql_secure_installation</code></pre>



<p class="wp-block-paragraph">Nos pedirá nuestra contraseña de root (de sistema):</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="757" height="337" src="https://danisanchez.net/wp-content/uploads/2021/12/08-manjaro-en-linux.jpg" alt="" class="wp-image-12008" srcset="https://danisanchez.net/wp-content/uploads/2021/12/08-manjaro-en-linux.jpg 757w, https://danisanchez.net/wp-content/uploads/2021/12/08-manjaro-en-linux-300x134.jpg 300w" sizes="auto, (max-width: 757px) 100vw, 757px" /></figure>



<p class="wp-block-paragraph">Ahora nos pregunta si queremos darle una contraseña a la cuenta root de mysql, respondemos que si (Y):</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="759" height="345" src="https://danisanchez.net/wp-content/uploads/2021/12/09-manjaro-en-linux.jpg" alt="" class="wp-image-12009" srcset="https://danisanchez.net/wp-content/uploads/2021/12/09-manjaro-en-linux.jpg 759w, https://danisanchez.net/wp-content/uploads/2021/12/09-manjaro-en-linux-300x136.jpg 300w" sizes="auto, (max-width: 759px) 100vw, 759px" /></figure>



<pre class="wp-block-code"><code>Change the root password? &#91;Y/n] Y</code></pre>



<p class="wp-block-paragraph">Respondemos que si (Y).</p>



<pre class="wp-block-code"><code>New password: **********
Re-enter new password: **********</code></pre>



<p class="wp-block-paragraph">Al resto de preguntas podemos responder que si:</p>



<pre class="wp-block-code"><code>Remove anonymous users? &#91;Y/n] Y</code></pre>



<pre class="wp-block-code"><code>Disallow root login remotely? &#91;Y/n] Y</code></pre>



<pre class="wp-block-code"><code>Remove test database and access to it? &#91;Y/n] Y</code></pre>



<pre class="wp-block-code"><code>Reload privilege tables now? &#91;Y/n] Y</code></pre>



<pre class="wp-block-code"><code>Thanks por using MariaDB!</code></pre>



<p class="wp-block-paragraph">Entramos en MySQL:</p>



<pre class="wp-block-code"><code>sudo mysql -u root</code></pre>



<p class="wp-block-paragraph">Vamos a crear un nuevo usuario distinto al de root que será el que asignemos a las bases de datos que creemos posteriormente:</p>



<pre class="wp-block-code"><code>CREATE USER mi_usuario IDENTIFIED BY 'contraseña';</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="818" height="381" src="https://danisanchez.net/wp-content/uploads/2021/12/10-manjaro-en-linux.jpg" alt="" class="wp-image-12012" srcset="https://danisanchez.net/wp-content/uploads/2021/12/10-manjaro-en-linux.jpg 818w, https://danisanchez.net/wp-content/uploads/2021/12/10-manjaro-en-linux-300x140.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/12/10-manjaro-en-linux-768x358.jpg 768w" sizes="auto, (max-width: 818px) 100vw, 818px" /></figure>



<p class="wp-block-paragraph">Podemos salir de MySQL con el comando exit:</p>



<pre class="wp-block-code"><code>MariaDB &#91;(none)]&gt; exit;
<strong>Bye</strong></code></pre>



<h2 class="wp-block-heading">Instalación y configuración de PHP</h2>



<p class="wp-block-paragraph">Desde el terminal instalamos la paquetería php y php-apache</p>



<pre class="wp-block-code"><code>sudo pacman -S php php-apache php-gd php-imagick</code></pre>



<p class="wp-block-paragraph"><strong>php-gd y php-imagick</strong> son opcionales, pero los necesitaremos para poder manipular imágenes en WordPress.</p>



<p class="wp-block-paragraph">Como Manjaro es una versión contínua (rolling-release), la versión de PHP será la que haya disponible en el momento que realices la intalación.</p>



<p class="wp-block-paragraph">A la hora de escribir este artículo, la versión instalada es la 8.0.12.</p>



<p class="wp-block-paragraph">Puedes comprobar la versión instalada con el comando php -v:</p>



<pre class="wp-block-code"><code><strong>&#91;dani@ThinkPad-T540p ~]$</strong> php -v
PHP 8.0.12 (cli) (built: Oct 20 2021 16:06:03) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.12, Copyright (c) Zend Technologies</code></pre>



<p class="wp-block-paragraph">Es necesario habilitar y deshabilitar algunos módulos de apache para que PHP8 funcione correctamente en Manjaro:</p>



<ul class="wp-block-list"><li><strong>LoadModule mpm_event_module modules/mod_mpm_event.so (DESHABILITADO).</strong></li><li><strong>LoadModule mpm_prefork_module modules/mod_mpm_prefork.so (HABILITADO).</strong></li></ul>



<p class="wp-block-paragraph">Para ello vamos al archivo de configuración de apache:</p>



<pre class="wp-block-code"><code>sudo nano /etc/httpd/conf/httpd.conf</code></pre>



<p class="wp-block-paragraph">Y localizamos los dos módulos anteriores, comentando el primero y descomentando (o añadiendo si no está) el segundo.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="818" height="515" src="https://danisanchez.net/wp-content/uploads/2021/12/12-manjaro-en-linux.jpg" alt="" class="wp-image-12018" srcset="https://danisanchez.net/wp-content/uploads/2021/12/12-manjaro-en-linux.jpg 818w, https://danisanchez.net/wp-content/uploads/2021/12/12-manjaro-en-linux-300x189.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/12/12-manjaro-en-linux-768x484.jpg 768w" sizes="auto, (max-width: 818px) 100vw, 818px" /></figure>



<p class="wp-block-paragraph">Ahora añadimos al final del archivo las siguientes líneas:</p>



<pre class="wp-block-code"><code>LoadModule php_module modules/libphp.so
AddHandler php-script php
Include conf/extra/php_module.conf</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="818" height="515" src="https://danisanchez.net/wp-content/uploads/2021/12/13-manjaro-en-linux.jpg" alt="" class="wp-image-12019" srcset="https://danisanchez.net/wp-content/uploads/2021/12/13-manjaro-en-linux.jpg 818w, https://danisanchez.net/wp-content/uploads/2021/12/13-manjaro-en-linux-300x189.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/12/13-manjaro-en-linux-768x484.jpg 768w" sizes="auto, (max-width: 818px) 100vw, 818px" /></figure>



<p class="wp-block-paragraph">Guardamos con Ctrl+O y salimos con Ctrl+X.</p>



<p class="wp-block-paragraph">Reiniciamos apache para que se apliquen los cambios.</p>



<pre class="wp-block-code"><code>sudo systemctl restart httpd</code></pre>



<p class="wp-block-paragraph">Vamos a probar que PHP funciona correctamente. Para ello vamos a crear un archivo info.php dentro de la carpeta raíz de proyectos de Apache que en Manjaro se encuentra en la ruta <strong>/srv/http</strong>:</p>



<pre class="wp-block-code"><code>sudo nano /srv/http/info.php</code></pre>



<p class="wp-block-paragraph">Y dentro llamamos a la función phpinfo();</p>



<pre class="wp-block-code"><code>&lt;?php
    phpinfo();
?&gt;</code></pre>



<p class="wp-block-paragraph">Guardamos, salimos de nano y nos dirigimos al navegador web, hacia la dirección http://localhost/info.php, donde tendrá que aparecer una pantalla como esta:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="952" height="867" src="https://danisanchez.net/wp-content/uploads/2021/12/14-manjaro-en-linux.jpg" alt="" class="wp-image-12021" srcset="https://danisanchez.net/wp-content/uploads/2021/12/14-manjaro-en-linux.jpg 952w, https://danisanchez.net/wp-content/uploads/2021/12/14-manjaro-en-linux-300x273.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/12/14-manjaro-en-linux-768x699.jpg 768w" sizes="auto, (max-width: 952px) 100vw, 952px" /></figure>



<p class="wp-block-paragraph">Esto significa que tanto Apache como PHP están corriendo correctamente.</p>



<p class="wp-block-paragraph">Ahora, para gestionar las bases de datos de forma más cómoda, vamos a instalar y configurar <strong>phpMyAdmin</strong>, que en Manjaro también requiere de algunas configuraciones adicionales.</p>



<h2 class="wp-block-heading">Instalar y configurar phpMyAdmin</h2>



<p class="wp-block-paragraph">Instalamos el paquete desde un terminal:</p>



<pre class="wp-block-code"><code>sudo pacman -S phpmyadmin</code></pre>



<p class="wp-block-paragraph">Antes de ejecutarlo necesitamos hacer algunas configuraciones en el archivo php.ini situado en la ruta /etc/php/php.ini:</p>



<pre class="wp-block-code"><code>sudo nano /etc/php/php.ini</code></pre>



<p class="wp-block-paragraph">Y descomentamos las siguientes líneas (eliminando el # o el ; del inicio):</p>



<pre class="wp-block-code"><code>extension=bz2
extension=gd
extension=mysqli
extension=iconv
extension=pdo_mysql</code></pre>



<p class="wp-block-paragraph">Ya que estamos, podemos aprovechar y modificar algunos parámetros para mejorar la experiencia con WordPress o cualquier otro CMS. Los parámetros mínimos aconsejables serían:</p>



<pre class="wp-block-code"><code>memory_limit = 128M
post_max_size = 64M
max_execution_time = 180
upload_max_filesize = 64M
max_input_time = 180
max_input_vars = 3000</code></pre>



<p class="wp-block-paragraph">Los localizamos con Ctrl+W y los modificamos uno a uno.</p>



<p class="wp-block-paragraph">Tras finalizar, guardamos con Ctrl+O y salimos con Ctrl+X.</p>



<p class="wp-block-paragraph">Y reiniciamos apache ara que se aplique los cambios:</p>



<pre class="wp-block-code"><code>sudo systemctl restart httpd</code></pre>



<p class="wp-block-paragraph">Ahora necesitamos crear un archivo de configuración para phpMyAdmin que situaremos en la ruta:</p>



<pre class="wp-block-code"><code>sudo nano /etc/httpd/conf/extra/phpmyadmin.conf</code></pre>



<p class="wp-block-paragraph">Y dentro insertamos las siguientes líneas:</p>



<pre class="wp-block-code"><code>Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
&lt;Directory "/usr/share/webapps/phpMyAdmin"&gt;
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
Require all granted
&lt;/Directory&gt;</code></pre>



<p class="wp-block-paragraph">Guardamos y salimos.</p>



<p class="wp-block-paragraph">Volvemos al archivo de configuración de Apache:</p>



<pre class="wp-block-code"><code>sudo nano /etc/httpd/conf/httpd.conf</code></pre>



<p class="wp-block-paragraph">Y al final del archivo añadimos la siguiente línea:</p>



<pre class="wp-block-code"><code>Include conf/extra/phpmyadmin.conf</code></pre>



<p class="wp-block-paragraph">Ya estaríamos listos para inciar phpMyAdmin, pero para evitar que aparezcan algunos mensajes de error, configuraremos la frase secreta del panel editando:</p>



<pre class="wp-block-code"><code>sudo nano /etc/webapps/phpmyadmin/config.inc.php</code></pre>



<p class="wp-block-paragraph">Y localizamos la línea:</p>



<pre class="wp-block-code"><code>$cfg&#91;'blowfish_secret'] = 'ESCRIBE_UNA_CLAVE_LARGA_Y_COMPLEJA'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH!$ /**</code></pre>



<p class="wp-block-paragraph">Y al final del archivo añadimos:</p>



<pre class="wp-block-code"><code>$cfg&#91;'TempDir'] = '/tmp/phpmyadmin';</code></pre>



<p class="wp-block-paragraph">Reiniciamos Apache.</p>



<p class="wp-block-paragraph">Abrimos el navegador y nos dirigimos a http://localhost/phpmyadmin, donde deberíamos ver la pantalla de login:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="390" height="437" src="https://danisanchez.net/wp-content/uploads/2021/12/15-manjaro-en-linux.jpg" alt="" class="wp-image-12026" srcset="https://danisanchez.net/wp-content/uploads/2021/12/15-manjaro-en-linux.jpg 390w, https://danisanchez.net/wp-content/uploads/2021/12/15-manjaro-en-linux-268x300.jpg 268w" sizes="auto, (max-width: 390px) 100vw, 390px" /></figure>
</div>


<p class="wp-block-paragraph">Por último vamos a habilitar el modulo ReWrite en Apache para que  podamos habilitar las URLs amigables en WordPress (en los enlaces permanentes).</p>



<h2 class="wp-block-heading">Habilitar mod_rewrite para URLs amigables en WordPress</h2>



<p class="wp-block-paragraph">Nos dirimos al archivo de configuración de Apache:</p>



<pre class="wp-block-code"><code>sudo nano /etc/httpd/conf/httpd.conf</code></pre>



<p class="wp-block-paragraph"> Y localizamos la parte de código donde empieza <strong>&lt;Directory «/srv/http»&gt;</strong></p>



<p class="wp-block-paragraph">Un poco mas abajo modificamos la línea:</p>



<p class="wp-block-paragraph">AllowOverride None por <strong>AllowOverride All</strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="815" height="627" src="https://danisanchez.net/wp-content/uploads/2021/12/16-manjaro-en-linux.jpg" alt="" class="wp-image-12028" srcset="https://danisanchez.net/wp-content/uploads/2021/12/16-manjaro-en-linux.jpg 815w, https://danisanchez.net/wp-content/uploads/2021/12/16-manjaro-en-linux-300x231.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/12/16-manjaro-en-linux-768x591.jpg 768w" sizes="auto, (max-width: 815px) 100vw, 815px" /></figure>



<p class="wp-block-paragraph">Y localizamos y descomentamos la línea:</p>



<pre class="wp-block-code"><code>LoadModule rewrite_module modules/mod_rewrite.so</code></pre>



<p class="wp-block-paragraph">Reiniciamos Apache y ya tendríamos listo el Stack LAMP para Manjaro y optimizado para WordPress.</p>



<p class="wp-block-paragraph">Espero que este artículo te haya servido y lo compartas si ha sido así. Nos vemos en el siguiente post <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/instalar-lamp-en-manjaro-linux-apache-mysql-y-php/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
		<item>
		<title>Instalar LAMP (Linux, Apache, MySQL y PHP) en Fedora</title>
		<link>https://danisanchez.net/instalar-lamp-linux-apache-mysql-y-php-en-fedora/</link>
					<comments>https://danisanchez.net/instalar-lamp-linux-apache-mysql-y-php-en-fedora/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Thu, 28 Oct 2021 15:22:54 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=11928</guid>

					<description><![CDATA[Probado hasta Fedora 39!! Actualmente estoy probando Fedora como distro principal y tenía la necesidad de configurar mi entorno LAMP tal y como lo tenía en Ubuntu. En Fedora la paquetería difiere un poco, así como algunas configuraciones. En este artículo vamos a ver cómo: Instalar el servidor web Apache Nos dirigimos a un terminal [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-white-color has-text-color has-background wp-block-paragraph" style="background-color:#17a2b8"><strong>Probado hasta Fedora 39!!</strong></p>



<p class="wp-block-paragraph">Actualmente estoy probando Fedora como distro principal y tenía la necesidad de configurar mi entorno LAMP tal y como lo tenía en Ubuntu.</p>



<p class="wp-block-paragraph">En Fedora la paquetería difiere un poco, así como algunas configuraciones.</p>



<p class="wp-block-paragraph">En este artículo vamos a ver cómo:</p>



<ul class="wp-block-list">
<li>Instalar el <strong>servidor web</strong> (<strong>Apache</strong>).</li>



<li>Instalar el <strong>gestor de bases de datos MariaDB</strong>.</li>



<li>Instalar <strong>PHP</strong>.</li>



<li>Configurar <strong>php.ini</strong> con los valores óptimos para WordPress.</li>



<li>Instalar <strong>phpMyAdmin</strong> para gestionar las bases de datos visualmente.</li>



<li>Activar el módulo <strong>MOD REWRITE</strong> para que funcionen las URLs «amigables» en WordPress.</li>
</ul>



<h2 class="wp-block-heading">Instalar el servidor web Apache</h2>



<p class="wp-block-paragraph">Nos dirigimos a un terminal y escribimos:</p>



<pre class="wp-block-code"><code>sudo dnf -y install httpd</code></pre>



<p class="wp-block-paragraph">Los comandos básicos para gestionar el servidor son:</p>



<p class="wp-block-paragraph">Iniciar:</p>



<pre class="wp-block-code"><code>sudo systemctl start httpd</code></pre>



<p class="wp-block-paragraph">Parar:</p>



<pre class="wp-block-code"><code>sudo systemctl stop httpd</code></pre>



<p class="wp-block-paragraph">Habilitar:</p>



<pre class="wp-block-code"><code>sudo systemctl enable httpd</code></pre>



<p class="wp-block-paragraph">Reiniciar:</p>



<pre class="wp-block-code"><code>sudo systemctl restart httpd</code></pre>



<p class="wp-block-paragraph">Recargar:</p>



<pre class="wp-block-code"><code>sudo systemctl reload httpd</code></pre>



<p class="wp-block-paragraph">Una vez instalado, ejecutamos los comandos de <strong>habilitar</strong> e <strong>iniciar:</strong></p>



<pre class="wp-block-code"><code>sudo systemctl enable httpd
sudo systemctl start httpd</code></pre>



<p class="wp-block-paragraph">Nos dirigimos a un navegador web y entramos en http://localhost</p>



<p class="wp-block-paragraph">Deberíamos ver una pantalla como esta:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1000" height="546" src="https://danisanchez.net/wp-content/uploads/2021/10/01-lamp-fedora.jpg" alt="" class="wp-image-11929" srcset="https://danisanchez.net/wp-content/uploads/2021/10/01-lamp-fedora.jpg 1000w, https://danisanchez.net/wp-content/uploads/2021/10/01-lamp-fedora-300x164.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/10/01-lamp-fedora-768x419.jpg 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph">En mi caso, una vez que se habilita e inicia el servidor por primera vez, ya no es necesario hacerlo en cada sesión.</p>



<h2 class="wp-block-heading">Instalar MySQL (MariaDB)</h2>



<p class="wp-block-paragraph">De vuelta al terminal ejecutamos:</p>



<pre class="wp-block-code"><code>sudo dnf install mariadb-server</code></pre>



<p class="wp-block-paragraph">Los comandos para gestionar el servicio son muy similares a Apache.</p>



<p class="wp-block-paragraph">Habilitar:</p>



<pre class="wp-block-code"><code>sudo systemctl enable mariadb</code></pre>



<p class="wp-block-paragraph">Iniciar:</p>



<pre class="wp-block-code"><code>sudo systemctl start mariadb</code></pre>



<p class="wp-block-paragraph">Parar:</p>



<pre class="wp-block-code"><code>sudo systemctl stop mariadb</code></pre>



<p class="wp-block-paragraph">Reiniciar:</p>



<pre class="wp-block-code"><code>sudo systemctl restart mariadb</code></pre>



<p class="wp-block-paragraph">Al igual que con Apache, en mi caso no es necesario habilitar e iniciar el servicio en cada sesión.</p>



<h3 class="wp-block-heading">Securizar MySQL</h3>



<p class="wp-block-paragraph">Por defecto, el gestor de bases de datos viene con el usuario root sin contraseña. Vamos a asignar una contraseña ejecutando:</p>



<pre class="wp-block-code"><code>sudo mysql_secure_installation</code></pre>



<p class="wp-block-paragraph">Nos preguntará si queremos asignar una contraseña al usuario root, contestamos que si:</p>



<pre class="wp-block-code"><code>Set root password? &#91;Y/n] y
New password: *******
Re-enter new password: ****** 
Password updated successfully!</code></pre>



<p class="wp-block-paragraph">Nos hará una serie de preguntas sobre si queremos eliminar usuarios anónimos, borrar las tablas de test, etc. Podemos contestar afimartívamente a todo:</p>



<pre class="wp-block-code"><code>Remove anonymous users? &#91;Y/n] y
 ... Success!
 
 Disallow root login remotely? &#91;Y/n] y
 ... Success!
 
 Remove test database and access to it? &#91;Y/n] y
 - Dropping test database...
 ... Success!
 
 - Removing privileges on test database...
 ... Success!
 
 Reload privilege tables now? &#91;Y/n] y
 ... Success!</code></pre>



<p class="wp-block-paragraph">Ahora entraremos en mysql:</p>



<pre class="wp-block-code"><code>sudo mysql -u root</code></pre>



<p class="wp-block-paragraph">Vamos a crear un usuario distinto de root que será el que asignemos a las bases de datos que creemos después:</p>



<pre class="wp-block-code"><code>CREATE USER mi_usuario IDENTIFIED BY 'password';</code></pre>



<p class="wp-block-paragraph">Creamos una nueva base de datos:</p>



<pre class="wp-block-code"><code>CREATE DATABASE mibase;</code></pre>



<p class="wp-block-paragraph">Y asignamos nuestro usuario anterior a la nueva base de datos con todos los privilegios:</p>



<pre class="wp-block-code"><code>GRANT ALL PRIVILEGES ON mibase.* TO mi_usuario;</code></pre>



<p class="wp-block-paragraph">Para nuevas bases de datos el proceso sería el mismo: Crear la base de datos y asignar nuestro usuario con todos los privilegios.</p>



<p class="wp-block-paragraph">Tras la asignación de nuestro usuario a la nueva base de datos no está de más hacer una limpieza de la caché almacenada con:</p>



<pre class="wp-block-code"><code>FLUSH PRIVILEGES;</code></pre>



<h2 class="wp-block-heading">Instalar PHP</h2>



<p class="wp-block-paragraph">Vamos a instalar los siguientes paquetes para PHP:</p>



<pre class="wp-block-code"><code>sudo dnf -y install php php-cli php-php-gettext php-mbstring php-mcrypt php-mysqlnd php-pear php-curl php-gd php-xml php-bcmath php-zip</code></pre>



<p class="wp-block-paragraph">Tras la instalación vamos a comprobar la versión de PHP con el comando:</p>



<pre class="wp-block-code"><code>php -v</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="738" height="214" src="https://danisanchez.net/wp-content/uploads/2021/10/02-lamp-fedora-php-versioin.jpg" alt="" class="wp-image-11936" srcset="https://danisanchez.net/wp-content/uploads/2021/10/02-lamp-fedora-php-versioin.jpg 738w, https://danisanchez.net/wp-content/uploads/2021/10/02-lamp-fedora-php-versioin-300x87.jpg 300w" sizes="auto, (max-width: 738px) 100vw, 738px" /></figure>



<p class="wp-block-paragraph">En el momento de hacer este artículo, la versión que se instala con Fedora 34 es la 7.4.24.</p>



<p class="wp-block-paragraph">Crearemos un archivo test.php para comprobar que PHP se ejecuta correctamente bajo Apache.</p>



<p class="wp-block-paragraph">A mí me gusta usar <em>nano</em> para configurar archivos sencillos mediante la terminal, nos dirigimos a:</p>



<pre class="wp-block-code"><code>sudo nano /var/www/html/test.php</code></pre>



<p class="wp-block-paragraph">Y dentro pegamos la siguiente línea:</p>



<pre class="wp-block-code"><code>&lt;?php phpinfo(); ?&gt;</code></pre>



<p class="wp-block-paragraph">Guardamos los cambios con <em>Ctrl+O</em> y salimos con <em>Ctrl+X</em>.</p>



<p class="wp-block-paragraph">Volvemos al navegador web a la dirección http://localhost/test.php</p>



<p class="wp-block-paragraph">Debería ejecutarse el script de información de PHP:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="559" src="https://danisanchez.net/wp-content/uploads/2021/10/03-lamp-fedora-php-test-1024x559.jpg" alt="" class="wp-image-11937" srcset="https://danisanchez.net/wp-content/uploads/2021/10/03-lamp-fedora-php-test-1024x559.jpg 1024w, https://danisanchez.net/wp-content/uploads/2021/10/03-lamp-fedora-php-test-300x164.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/10/03-lamp-fedora-php-test-768x419.jpg 768w, https://danisanchez.net/wp-content/uploads/2021/10/03-lamp-fedora-php-test-1536x838.jpg 1536w, https://danisanchez.net/wp-content/uploads/2021/10/03-lamp-fedora-php-test.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Vamos a cambiar algunos parámetros de PHP editando su archivo de configuración (php.ini) para optimizarlo para WordPress.</p>



<p class="wp-block-paragraph">La ubicación está en /etc/php.ini, por lo que de nuevo con <em>nano</em>, nos dirigimos a:</p>



<pre class="wp-block-code"><code>sudo nano /etc/php.ini</code></pre>



<p class="wp-block-paragraph">Y editamos los siguiente parámetros:</p>



<pre class="wp-block-code"><code>memory_limit = 128M
post_max_size = 64M
max_execution_time = 180
upload_max_filesize = 64M
max_input_time = 180
max_input_vars = 3000</code></pre>



<p class="wp-block-paragraph">Tras la edición debemos reiniciar Apache para que los cambios surjan efecto. <strong>En mi caso tuve que reiniciar el PC por completo para que se aplicaran</strong>. </p>



<h2 class="wp-block-heading">Instalar phpMyAdmin</h2>



<p class="wp-block-paragraph">Volvemos al terminal y ejecutamos:</p>



<pre class="wp-block-code"><code>sudo dnf install phpmyadmin</code></pre>



<p class="wp-block-paragraph">Tras la instalación veremos que si accedemos a http://localhost/phpmyadmin nos saldrá un mensaje de error indicando que la ubicación no existe. </p>



<p class="wp-block-paragraph">Tenemos que editar el archivo de configuración de phpMyAdmin de nuevo con <em>nano</em>:</p>



<pre class="wp-block-code"><code>sudo nano /etc/httpd/conf.d/phpMyAdmin.conf</code></pre>



<p class="wp-block-paragraph">Hacia la parte final del archivo, añadimos las siguientes líneas:</p>



<pre class="wp-block-code"><code>&lt;Directory /usr/share/phpMyAdmin&gt;
    AddDefaultCharset UTF-8
    Require all granted
&lt;/Directory&gt;</code></pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="810" height="592" src="https://danisanchez.net/wp-content/uploads/2021/10/04-lamp-fedora-configurar-phpmyadmin.jpg" alt="" class="wp-image-11938" srcset="https://danisanchez.net/wp-content/uploads/2021/10/04-lamp-fedora-configurar-phpmyadmin.jpg 810w, https://danisanchez.net/wp-content/uploads/2021/10/04-lamp-fedora-configurar-phpmyadmin-300x219.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/10/04-lamp-fedora-configurar-phpmyadmin-768x561.jpg 768w" sizes="auto, (max-width: 810px) 100vw, 810px" /></figure>
</div>


<p class="wp-block-paragraph">Guardamos con <em>Ctrl+O</em> y salimos con <em>Ctrl+X</em>.</p>



<p class="wp-block-paragraph">Reiniciamos el servidor con:</p>



<pre class="wp-block-code"><code>sudo systemctl restart httpd</code></pre>



<p class="wp-block-paragraph">O reiniciamos el equipo si no surje efecto. Ahora podemos acceder a http://localhost/phpmyadmin</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="559" src="https://danisanchez.net/wp-content/uploads/2021/10/05-lamp-fedora-iniciar-phpmyadmin-1024x559.jpg" alt="" class="wp-image-11940" srcset="https://danisanchez.net/wp-content/uploads/2021/10/05-lamp-fedora-iniciar-phpmyadmin-1024x559.jpg 1024w, https://danisanchez.net/wp-content/uploads/2021/10/05-lamp-fedora-iniciar-phpmyadmin-300x164.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/10/05-lamp-fedora-iniciar-phpmyadmin-768x419.jpg 768w, https://danisanchez.net/wp-content/uploads/2021/10/05-lamp-fedora-iniciar-phpmyadmin-1536x838.jpg 1536w, https://danisanchez.net/wp-content/uploads/2021/10/05-lamp-fedora-iniciar-phpmyadmin.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Por último vamos a activar el módulo de Apache <strong>MOD REWRITE</strong> para habilitar las URLs amigables de WordPress que configuramos en los ajustes de <em>Enlaces Permanentes</em>.</p>



<p class="wp-block-paragraph">Para ello nos dirigimos con nano a:</p>



<pre class="wp-block-code"><code>sudo nano /etc/httpd/conf/httpd.conf</code></pre>



<p class="wp-block-paragraph">Localizamos la línea:</p>



<pre class="wp-block-code"><code>&lt;Directory "/var/www/html"&gt;</code></pre>



<p class="wp-block-paragraph">Y sustituimos AllowOverride None por <strong>AllowOverride All</strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="811" height="648" src="https://danisanchez.net/wp-content/uploads/2021/10/05-lamp-fedora-configurar-modrewrite.jpg" alt="" class="wp-image-11941" srcset="https://danisanchez.net/wp-content/uploads/2021/10/05-lamp-fedora-configurar-modrewrite.jpg 811w, https://danisanchez.net/wp-content/uploads/2021/10/05-lamp-fedora-configurar-modrewrite-300x240.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/10/05-lamp-fedora-configurar-modrewrite-768x614.jpg 768w" sizes="auto, (max-width: 811px) 100vw, 811px" /></figure>



<p class="wp-block-paragraph">De nuevo, reinicia Apache o directamente el PC.</p>



<h2 class="wp-block-heading">Nota final</h2>



<p class="wp-block-paragraph">Si al descargar algún tema/plugin o actualización tienes un error de:</p>



<pre class="wp-block-code"><code>Descarga fallida: cURL error 7</code></pre>



<p class="wp-block-paragraph">Necesitamos configurar SElinux en modo permisivo. Para ello editamos el siguiente archivo:</p>



<pre class="wp-block-code"><code>sudo nano /etc/selinux/config</code></pre>



<p class="wp-block-paragraph">Y cambiamos el parámetro SELINUX=permissive</p>



<pre class="wp-block-code"><code># This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
<strong>SELINUX=permissive</strong>
# SELINUXTYPE= can take one of these two values:
#       targeted - Targeted processes are protected,
#       mls - Multi Level Security protection.
SELINUXTYPE=targeted</code></pre>



<p class="wp-block-paragraph"> Reiniciamos el equipo y eso es todo <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/instalar-lamp-linux-apache-mysql-y-php-en-fedora/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Instalar LAMP y phpMyAdmin en MX Linux 19</title>
		<link>https://danisanchez.net/instalar-lamp-y-phpmyadmin-en-mx-linux-19/</link>
					<comments>https://danisanchez.net/instalar-lamp-y-phpmyadmin-en-mx-linux-19/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Wed, 08 Jan 2020 09:28:48 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mx linux]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=6403</guid>

					<description><![CDATA[Hace unos días publicábamos un post sobre la instalación del conjunto de herramientas para servidor web LAMP (Linux, Apache, MySQL, PHP) en distribuciones Ubuntu y derivadas. En este artículo veremos cómo hacerlo en una distro muy especial, que ha conseguido en los últimos meses una gran popularidad manteniéndose en el primer puesto en Distrowatch con [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Hace unos días publicábamos un <a href="https://danisanchez.net/instalar-lamp-linux-apache-mysql-y-php-en-gnu-linux-ubuntu-y-derivadas/" target="_blank" rel="noreferrer noopener" aria-label="post (opens in a new tab)"><strong>post</strong></a> sobre la instalación del conjunto de herramientas para servidor web LAMP (Linux, Apache, MySQL, PHP) en distribuciones Ubuntu y derivadas.</p>



<p class="wp-block-paragraph">En este artículo veremos cómo hacerlo en una distro muy especial, que ha conseguido en los últimos meses una gran popularidad manteniéndose en el primer puesto en <a rel="noreferrer noopener" aria-label="Distrowatch (opens in a new tab)" href="https://distrowatch.com/?language=ES" target="_blank">Distrowatch</a> con diferencia, <a href="https://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=1&amp;cad=rja&amp;uact=8&amp;ved=2ahUKEwjD04z51fPmAhWQxIUKHWNiBmwQFjAAegQIBRAB&amp;url=https%3A%2F%2Fmxlinux.org%2F&amp;usg=AOvVaw0CzywJHWlYIWxCmVSTRStQ" target="_blank" rel="noreferrer noopener" aria-label="MX Linux (opens in a new tab)"><strong>MX Linux</strong></a>.</p>



<p class="wp-block-paragraph">Además, phpMyAdmin no se encuentra en los repositorios oficiales de Debian, por lo que la instalación y configuración debe hacerse manualmente.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Artículo disponible en vídeo</p></blockquote>



<iframe loading="lazy" width="100%" height="315" src="https://www.youtube-nocookie.com/embed/BJtW3b_IBeI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Empezamos&#8230;</p>



<h2 class="wp-block-heading">Paso 1. Instalar Apache</h2>



<pre class="wp-block-code"><code>sudo apt install apache2</code></pre>



<h4 class="wp-block-heading">Comandos básicos para Apache</h4>



<pre class="wp-block-code"><code>sudo service apache2 start
sudo service apache2 restart
sudo service apache2 reload
sudo service apache2 stop</code></pre>



<p class="wp-block-paragraph">Una vez instalado e iniciado (normalmente se inicia junto al sistema), comprobar en la dirección http://localhost/ del navegador:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="962" height="818" src="https://danisanchez.net/wp-content/uploads/2020/01/01-apache-localhost.jpg" alt="" class="wp-image-6405" srcset="https://danisanchez.net/wp-content/uploads/2020/01/01-apache-localhost.jpg 962w, https://danisanchez.net/wp-content/uploads/2020/01/01-apache-localhost-300x255.jpg 300w, https://danisanchez.net/wp-content/uploads/2020/01/01-apache-localhost-768x653.jpg 768w" sizes="auto, (max-width: 962px) 100vw, 962px" /></figure>



<h2 class="wp-block-heading">Paso 2. Instalar MariaDB</h2>



<pre class="wp-block-code"><code>sudo apt install mariadb-server
sudo apt install mariadb-client</code></pre>



<h4 class="wp-block-heading">Comandos básicos para MariaDB</h4>



<pre class="wp-block-code"><code>sudo service mysql start
sudo service mysql restart
sudo service mysql stop
sudo service mysql status</code></pre>



<h4 class="wp-block-heading">Securizar la instalación de MySQL</h4>



<pre class="wp-block-code"><code>sudo mysql_secure_installation</code></pre>



<p class="wp-block-paragraph">Nos preguntará si queremos cambiar la constraseña de root, en caso afirmativo, introducirla 2 veces.</p>



<h4 class="wp-block-heading">Iniciar consola MySQL</h4>



<pre class="wp-block-code"><code>sudo mysql -u root -p</code></pre>



<h4 class="wp-block-heading">Crear usuario de MySQL</h4>



<p class="wp-block-paragraph">Dentro del prompt de MySQL ejecutar la orden:</p>



<pre class="wp-block-code"><code>CREATE USER nombre_usuario IDENTIFIED BY 'clave_usuario';</code></pre>



<h4 class="wp-block-heading">Crear nueva base de datos</h4>



<pre class="wp-block-code"><code>CREATE DATABASE nombre_bbdd;</code></pre>



<h4 class="wp-block-heading">Asignar usuario MySQL con privilegios a una base de datos</h4>



<pre class="wp-block-code"><code>GRANT ALL PRIVILEGES ON nombre_bbdd.* TO nombre_usuario;
FLUSH PRIVILEGES;</code></pre>



<h2 class="wp-block-heading">Paso 3. Instalar PHP</h2>



<p class="wp-block-paragraph">Estos comandos pueden variar dependiendo de la versión de PHP disponible en los respositorios (7.2, 7.3, 7.4&#8230;)</p>



<pre class="wp-block-code"><code>sudo apt install php7.3 php7.3-fpm php7.3-gd php7.3-curl php7.3-mysql libapache2-mod-php7.3

sudo service apache2 restart</code></pre>



<h4 class="wp-block-heading">Comprobar si PHP se ha instalado correctamente</h4>



<pre class="wp-block-code"><code>Creamos un archivo info.php con el editor nano dentro del directorio de proyectos de Apache (var/www/html)</code></pre>



<pre class="wp-block-code"><code>sudo nano /var/www/html/info.php</code></pre>



<p class="wp-block-paragraph">Escribimos:</p>



<pre class="wp-block-code"><code>&lt;?php echo phpinfo(); ?></code></pre>



<p class="wp-block-paragraph">Guardamos con Ctrl+O y salimos con Ctrl+X</p>



<p class="wp-block-paragraph">En el navegador nos dirigimos a http://localhost/info.php donde debe aparecer una pantalla similar a:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="962" height="818" src="https://danisanchez.net/wp-content/uploads/2020/01/02-phpinfo.jpg" alt="" class="wp-image-6407" srcset="https://danisanchez.net/wp-content/uploads/2020/01/02-phpinfo.jpg 962w, https://danisanchez.net/wp-content/uploads/2020/01/02-phpinfo-300x255.jpg 300w, https://danisanchez.net/wp-content/uploads/2020/01/02-phpinfo-768x653.jpg 768w" sizes="auto, (max-width: 962px) 100vw, 962px" /></figure>



<h2 class="wp-block-heading">Paso 4. Configuraciones óptimas para WordPress (y otros CMS)</h2>



<h4 class="wp-block-heading">Activar el módulo REWRITE</h4>



<p class="wp-block-paragraph">Imprescindible para que funcionen los enlaces permanentes (slugs) de WordPress.</p>



<pre class="wp-block-code"><code>sudo a2enmod rewrite
sudo service apache2 restart</code></pre>



<p class="wp-block-paragraph">Editar el archivo de configuración con nano:</p>



<pre class="wp-block-code"><code>sudo nano /etc/apache2/sites-available/000-default.conf</code></pre>



<p class="wp-block-paragraph">Sobre la parte final del archivo, incluir:</p>



<pre class="wp-block-code"><code>&lt;Directory "/var/www/html">
    AllowOverride All
&lt;/Directory></code></pre>



<pre class="wp-block-code"><code>sudo service apache2 restart</code></pre>



<h4 class="wp-block-heading">Ajustes óptimos en el archivo php.ini</h4>



<p class="wp-block-paragraph">Abrimos el archivo con nano:</p>



<pre class="wp-block-code"><code>sudo nano /etc/php/7.3/apache2/php.ini</code></pre>



<p class="wp-block-paragraph">Cambiamos los valores de los siguientes parámetros:</p>



<pre class="wp-block-code"><code>memory_limit = 128M
post_max_size = 64M
max_execution_time = 180
upload_max_filesize = 64M
max_input_time = 180
max_input_vars = 3000</code></pre>



<h2 class="wp-block-heading">Paso 5. Instalar phpMyAdmin</h2>



<p class="wp-block-paragraph">Instalar los siguientes complementos de PHP (siempre sustituyendo el número de versión de PHP por el disponible en los repositorios):</p>



<pre class="wp-block-code"><code>sudo apt install php-imagick php-phpseclib php-gettext php7.3-imap php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl 

sudo service apache2 restart</code></pre>



<h4 class="wp-block-heading">Descarga la última versión estable de phpMyAdmin</h4>



<p class="wp-block-paragraph"><a href="https://www.phpmyadmin.net/downloads/">https://www.phpmyadmin.net/downloads/</a></p>



<p class="wp-block-paragraph">Podemos descargar directamente desde el terminal (asegúrate de cambiar el número de versión si es distinto).</p>



<pre class="wp-block-code"><code>wget https://files.phpmyadmin.net/phpMyAdmin/4.9.3/phpMyAdmin-4.9.3-all-languages.zip</code></pre>



<p class="wp-block-paragraph">Descomprimir con unzip (si no lo tenemos instalado ejecutamos antes)</p>



<pre class="wp-block-code"><code>sudo apt install unzip
unzip phpMyAdmin-4.9.3-all-languages.zip</code></pre>



<p class="wp-block-paragraph">Mover el directorio descomprimido a /usr/share/phpmyadmin</p>



<pre class="wp-block-code"><code>sudo mv phpMyAdmin-4.9.3-all-languages /usr/share/phpmyadmin</code></pre>



<p class="wp-block-paragraph">Hacer que el usuario del servidor web (www-data) sea propietario del directorio:</p>



<pre class="wp-block-code"><code>sudo chown -R www-data:www-data /usr/share/phpmyadmin</code></pre>



<h4 class="wp-block-heading">Crear la base de datos de phpMyAdmin y asignarla a nuestro usuario</h4>



<pre class="wp-block-code"><code>sudo mysql -u root -p
CREATE DATABASE phpmyadmin;
GRANT ALL PRIVILEGES ON phpmyadmin.* TO nombre_usuario;
FLUSH PRIVILEGES;</code></pre>



<h4 class="wp-block-heading">Crear el archivo de configuración de phpMyAdmin para Apache</h4>



<pre class="wp-block-code"><code>sudo nano /etc/apache2/conf-available/phpmyadmin.conf</code></pre>



<p class="wp-block-paragraph">Insertar el código:</p>



<pre class="wp-block-code"><code># phpMyAdmin default Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

&lt;Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    &lt;IfModule mod_php5.c>
        &lt;IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        &lt;/IfModule>
        &lt;FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        &lt;/FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        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/
        php_admin_value mbstring.func_overload 0
    &lt;/IfModule>
    &lt;IfModule mod_php.c>
        &lt;IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        &lt;/IfModule>
        &lt;FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        &lt;/FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        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/
        php_admin_value mbstring.func_overload 0
    &lt;/IfModule>

&lt;/Directory>

# Disallow web access to directories that don't need it
&lt;Directory /usr/share/phpmyadmin/templates>
    Require all denied
&lt;/Directory>
&lt;Directory /usr/share/phpmyadmin/libraries>
    Require all denied
&lt;/Directory>
&lt;Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
&lt;/Directory></code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Fuente del código:</p><cite><a href="https://www.linuxbabe.com/debian/install-phpmyadmin-apache-lamp-debian-10-buster" target="_blank" rel="noreferrer noopener" aria-label="https://www.linuxbabe.com/debian/install-phpmyadmin-apache-lamp-debian-10-buster (opens in a new tab)">https://www.linuxbabe.com/debian/install-phpmyadmin-apache-lamp-debian-10-buster</a></cite></blockquote>



<p class="wp-block-paragraph">Habilitar el snippet para la configuración:</p>



<pre class="wp-block-code"><code>sudo a2enconf phpmyadmin.conf</code></pre>



<h4 class="wp-block-heading">Crear el directorio temporal de phpMyAdmin</h4>



<pre class="wp-block-code"><code>sudo mkdir -p /var/lib/phpmyadmin/tmp</code></pre>



<p class="wp-block-paragraph">Hacer que el usuario del servidor web (www-data) sea propietario del directorio:</p>



<pre class="wp-block-code"><code>sudo chown www-data:www-data /var/lib/phpmyadmin/tmp</code></pre>



<pre class="wp-block-code"><code>sudo service apache2 reload</code></pre>



<p class="wp-block-paragraph">Iniciar phpMyAdmin en la ruta http://localhost/phpmyadmin</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="962" height="818" src="https://danisanchez.net/wp-content/uploads/2020/01/03-phpmyadmin.jpg" alt="" class="wp-image-6409" srcset="https://danisanchez.net/wp-content/uploads/2020/01/03-phpmyadmin.jpg 962w, https://danisanchez.net/wp-content/uploads/2020/01/03-phpmyadmin-300x255.jpg 300w, https://danisanchez.net/wp-content/uploads/2020/01/03-phpmyadmin-768x653.jpg 768w" sizes="auto, (max-width: 962px) 100vw, 962px" /></figure>



<p class="wp-block-paragraph">Si tienes algún problema, no dudes en dejarlo en los comentarios. Espero que te haya servido el artículo y disfrutes de tu MX Linux.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/instalar-lamp-y-phpmyadmin-en-mx-linux-19/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Instalar LAMP (Linux, Apache, MySQL y PHP) en GNU/Linux (Ubuntu y derivadas)</title>
		<link>https://danisanchez.net/instalar-lamp-linux-apache-mysql-y-php-en-gnu-linux-ubuntu-y-derivadas/</link>
					<comments>https://danisanchez.net/instalar-lamp-linux-apache-mysql-y-php-en-gnu-linux-ubuntu-y-derivadas/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Sat, 21 Dec 2019 18:20:38 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=6348</guid>

					<description><![CDATA[Actualizado a Ubuntu 24.04 LTS Si queremos tener un entorno de desarrollo web en nuestro PC, podemos instalar el paquete de herramientas XAMPP, que ofrece un sencillo asistente para tener todo el ecosistema de servidor web (Apache, MySQL y PHP) en unos pocos clics. Pero si tenemos algún problema con estos «meta-paquetes», o queremos tener [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading has-vivid-cyan-blue-color has-text-color">Actualizado a Ubuntu 24.04 LTS</h3>



<p class="wp-block-paragraph">Si queremos tener un entorno de desarrollo web en nuestro PC, podemos instalar el paquete de herramientas XAMPP, que ofrece un sencillo asistente para tener todo el ecosistema de servidor web (Apache, MySQL y PHP) en unos pocos clics.</p>



<p class="wp-block-paragraph">Pero si tenemos algún problema con estos «meta-paquetes», o queremos tener un entorno más optimizado/personalizado, podemos instalar todo por separado. </p>



<p class="wp-block-paragraph">En este artículo vamos a ver paso a paso los componentes a instalar y los ajustes necesarios para trabajar con WordPress.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Artículo en vídeo:</p>
</blockquote>



<iframe loading="lazy" src="https://www.youtube-nocookie.com/embed/YoYb0pGKTD0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" width="100%" height="315" frameborder="0"></iframe>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Instalar el servidor Apache</h2>



<pre class="wp-block-code"><code>sudo apt install apache2</code></pre>



<h3 class="wp-block-heading">Comandos para Apache:</h3>



<p class="wp-block-paragraph">Arrancar Apache</p>



<pre class="wp-block-code"><code>sudo systemctl start apache2</code></pre>



<p class="wp-block-paragraph">Reiniciar  Apache</p>



<pre class="wp-block-code"><code>sudo systemctl restart apache2</code></pre>



<p class="wp-block-paragraph">Detener Apache</p>



<pre class="wp-block-code"><code>sudo systemctl stop apache2</code></pre>



<p class="wp-block-paragraph">Para comprobar que Apache está iniciado, podemos ir a nuestro navegador y acceder a la url http://localhost, donde debe aparecer una pantalla similar a esta:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="957" height="749" src="https://danisanchez.net/wp-content/uploads/2019/12/imagen.png" alt="" class="wp-image-6350" srcset="https://danisanchez.net/wp-content/uploads/2019/12/imagen.png 957w, https://danisanchez.net/wp-content/uploads/2019/12/imagen-300x235.png 300w, https://danisanchez.net/wp-content/uploads/2019/12/imagen-768x601.png 768w" sizes="auto, (max-width: 957px) 100vw, 957px" /></figure>



<p class="wp-block-paragraph">La carpeta donde se ubicarán nuestros proyectos es:</p>



<p class="wp-block-paragraph"><em><strong>/var/www/html</strong></em></p>



<h2 class="wp-block-heading">Instalar el gestor de bases de datos MariaDB</h2>



<pre class="wp-block-code"><code>sudo apt install mariadb-server
sudo apt install mariadb-client</code></pre>



<h3 class="wp-block-heading">Comandos para iniciar y ver el estado de MariaDB:</h3>



<pre class="wp-block-code"><code>sudo systemctl start mariadb
sudo systemctl status mariadb</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="893" height="443" src="https://danisanchez.net/wp-content/uploads/2019/12/imagen-2.png" alt="" class="wp-image-6352" srcset="https://danisanchez.net/wp-content/uploads/2019/12/imagen-2.png 893w, https://danisanchez.net/wp-content/uploads/2019/12/imagen-2-300x149.png 300w, https://danisanchez.net/wp-content/uploads/2019/12/imagen-2-768x381.png 768w" sizes="auto, (max-width: 893px) 100vw, 893px" /></figure>



<p class="wp-block-paragraph">Por defecto, MariaDB se instala con el usuario root sin contraseña. Podemos crear una contraseña llamando al módulo:</p>



<pre class="wp-block-code"><code>sudo mysql_secure_installation</code></pre>



<p class="wp-block-paragraph">Definimos una contraseña. También nos preguntará si deseamos quitar usuarios invitados, eliminar las tablas de tests o el acceso remoto de root. Podemos especificar que sí a todo.</p>



<p class="wp-block-paragraph">En este momento podemos crear nuestro usuario MySQL distinto de root. Para ello accedemos a la consola de MySQL con el comando:</p>



<pre class="wp-block-code"><code>sudo mysql -u root -p</code></pre>



<p class="wp-block-paragraph">Ponemos la contraseña de root y aparecerá el prompt de MySQL</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="893" height="443" src="https://danisanchez.net/wp-content/uploads/2019/12/imagen-3.png" alt="" class="wp-image-6353" srcset="https://danisanchez.net/wp-content/uploads/2019/12/imagen-3.png 893w, https://danisanchez.net/wp-content/uploads/2019/12/imagen-3-300x149.png 300w, https://danisanchez.net/wp-content/uploads/2019/12/imagen-3-768x381.png 768w" sizes="auto, (max-width: 893px) 100vw, 893px" /></figure>



<p class="wp-block-paragraph">Para crear nuestro usuario ejecutamos la orden:</p>



<pre class="wp-block-code"><code>CREATE USER tu_usuario IDENTIFIED BY 'tu_clave';</code></pre>



<p class="wp-block-paragraph">Aprovechamos también para crear la base de datos para WordPress y asignar el nuevo usuario a esta:</p>



<pre class="wp-block-code"><code>CREATE DATABASE wordpress;</code></pre>



<p class="wp-block-paragraph">Asignamos nuestro nuevo usuario a la base de datos wordpress con todos los privilegios:</p>



<pre class="wp-block-code"><code>GRANT ALL PRIVILEGES ON wordpress.* TO tu_usuario;</code></pre>



<pre class="wp-block-code"><code>FLUSH PRIVILEGES;</code></pre>



<h2 class="wp-block-heading">Instalar PHP</h2>



<p class="wp-block-paragraph">Instalamos la versión que venga en los repositorios de nuestra distro actual. En el caso de Ubuntu 18.04, la versión de php disponible es la 7.2.</p>



<pre class="wp-block-code"><code>sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-curl libapache2-mod-php libapache2-mod-php8.3</code></pre>



<p class="wp-block-paragraph">Para comprobar si PHP se ha instalado correctamente podemos crear un archivo con nano en el directorio de proyectos de Apache:</p>



<pre class="wp-block-code"><code>sudo nano /var/www/html/info.php</code></pre>



<pre class="wp-block-code"><code>&lt;?php echo phpinfo(); ?&gt;</code></pre>



<p class="wp-block-paragraph">Y acceder desde el navegador a http://localhost/info.php</p>



<p class="wp-block-paragraph">Debe aparecer una pantalla con la información de PHP:</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://danisanchez.net/wp-content/uploads/2019/12/imagen-4-1.png" alt="" class="wp-image-6354"/></figure>



<h2 class="wp-block-heading">Instalar phpMyAdmin</h2>



<pre class="wp-block-code"><code>sudo apt install phpmyadmin</code></pre>



<p class="wp-block-paragraph">Durante la instalación el terminal nos hará algunas preguntas, como en qué servidor queremos configurar phpMyAdmin, donde elegiremos <strong>apache2</strong>.</p>



<p class="wp-block-paragraph">También nos preguntará si queremos utilizar <strong>dbconfig-common</strong> para configurar la base de datos, respondemos que <strong>sí</strong>.</p>



<h2 class="wp-block-heading">Ajustes y recomendaciones para WordPress</h2>



<p class="wp-block-paragraph">Ahora podemos instalar nuestros proyectos WordPress como siempre, utilizando la ruta /var/www/html, pero debemos hacer algunos ajustes para que WordPress no nos de problemas.</p>



<h3 class="wp-block-heading">Activar el módulo ReWrite de Apache</h3>



<p class="wp-block-paragraph">Este módulo es necesario para activar los enlaces permanentes de WordPress (para que reconozca nuestros slugs).</p>



<p class="wp-block-paragraph">Para activarlo ejecutamos la orden:</p>



<pre class="wp-block-code"><code>sudo a2enmod rewrite</code></pre>



<p class="wp-block-paragraph">Ahora editamos el archivo de configuración:</p>



<pre class="wp-block-code"><code>sudo nano /etc/apache2/sites-available/000-default.conf</code></pre>



<p class="wp-block-paragraph">Añadiendo al final:</p>



<pre class="wp-block-code"><code>&lt;Directory "/var/www/html"&gt;
AllowOverride All
&lt;/Directory&gt;</code></pre>



<p class="wp-block-paragraph">Y reiniciamos Apache:</p>



<pre class="wp-block-code"><code>sudo systemctl restart apache2</code></pre>



<h3 class="wp-block-heading">PARÁMETROS RECOMENDADOS PARA WORDPRESS EN PHP.INI</h3>



<p class="wp-block-paragraph">Editamos con nano el archivo php.ini modificando los siguientes parámetros:</p>



<pre class="wp-block-code"><code>sudo nano /etc/php/8.3/apache2/php.ini</code></pre>



<pre class="wp-block-code"><code>memory_limit = 128M
post_max_size = 64M
max_execution_time = 180
upload_max_filesize = 64M
max_input_time = 180
max_input_vars = 3000</code></pre>



<p class="wp-block-paragraph">Y con esto dejamos terminado nuestro entorno de desarrollo web optimizado para trabajar en WordPress.</p>



<p class="wp-block-paragraph">Si tienes dudas o algún problema, no dejes de escribirlo en los comentarios. Nos vemos en el siguiente post <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/instalar-lamp-linux-apache-mysql-y-php-en-gnu-linux-ubuntu-y-derivadas/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Importar base de datos SQL de gran tamaño sin phpMyAdmin</title>
		<link>https://danisanchez.net/importar-base-de-datos-sql-de-gran-tamano-sin-phpmyadmin/</link>
					<comments>https://danisanchez.net/importar-base-de-datos-sql-de-gran-tamano-sin-phpmyadmin/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Tue, 10 Sep 2019 06:27:42 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[xampp]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=6112</guid>

					<description><![CDATA[phpMyAdmin es una excelente herramienta para administrar bases de datos mySQL con una interfaz visual, sin necesidad de utilizar comandos desde un terminal. Para proyectos CMS como WordPress, una de las tareas más cotidianas que realizamos con phpMyAdmin es la de exportar e importar bases de datos, ya sea desde un proyecto local al servidor [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>phpMyAdmin</strong> es una excelente herramienta para administrar bases de datos mySQL con una interfaz visual, sin necesidad de utilizar comandos desde un terminal.</p>



<p class="wp-block-paragraph">Para proyectos CMS como WordPress, una de las tareas más cotidianas que realizamos con phpMyAdmin es la de <strong>exportar e importar bases de datos</strong>, ya sea desde un proyecto local al servidor final o viceversa.</p>



<p class="wp-block-paragraph">Pero existen limitaciones o restricciones que pueden impedir la importación de una base de datos SQL a través de phpMyAdmin generalmente ocasionados por el tamaño de esta.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Artículo disponible en vídeo por si prefieres seguirlo de este modo:</p></blockquote>



<iframe loading="lazy" width="100%" height="315" src="https://www.youtube-nocookie.com/embed/oSqKjvWs0GQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Restricción en el tamaño de subida de los archivos.</h3>



<p class="wp-block-paragraph">Los servidores, sobre <strong>todo los compartidos</strong>, definen un tamaño máximo de carga de archivos al servidor desde el navegador web, dependiendo del servidor, este tamaño puede ir desde los 8 hasta los 512MB. Si nuestra base de datos supera este tamaño ya tendremos el primer problema.</p>



<h3 class="wp-block-heading">Tiempo de ejecución PHP</h3>



<p class="wp-block-paragraph">Para realizar la importación del archivo SQL a través de phpMyAdmin, se ejecuta un script PHP que recompone todas las tablas y registros de la base de datos. Normalmente los servidores establecen un tiempo limitado para las ejecuciones PHP, de forma que un proceso erróneo o infinito no bloquee los recursos del servidor demasiado tiempo.</p>



<p class="wp-block-paragraph">Si el tiempo de importación supera este límite, seguramente obtendremos un error y no terminaremos de importar la base de datos. Dependiendo del estado de la interrupción, <strong>es posible que volviendo a cargar el archivo SQL, continúe la importación</strong> por donde iba, pero no estaremos exentos de posibles errores.</p>



<h2 class="wp-block-heading">Importar el respaldo SQL directamente desde un terminal mySQL</h2>



<p class="wp-block-paragraph">Para los casos en los que sea imposible realizar la importación desde phpMyAdmin, tenemos que realizar esta acción directamente <strong>desde un terminal mySQL</strong>.</p>



<p class="wp-block-paragraph">Si tu servidor es <strong>compartido</strong> no tendrás acceso a un terminal mySQL y la importación tendrán que realizarla desde tu proveedor de hosting.</p>



<p class="wp-block-paragraph">Dependerá de la calidad de tu soporte técnico qué tan rápido hagan esta tarea (si es que la hacen). Seguramente te pedirán que subas la base de datos por FTP a algún directorio e indiques a qué base de datos quieres hacer el respaldo.</p>



<p class="wp-block-paragraph">Si posees un <strong>servidor virtual o dedicado</strong> seguramente podrás acceder a este terminal (consulta la documentación de tu hosting).</p>



<p class="wp-block-paragraph">Primero crea la base de datos vacía (esto puedes hacerlo desde phpMyAdmin como siempre).</p>



<p class="wp-block-paragraph">Ahora desde un terminal mySQL conéctate a tu base de datos vacía:</p>



<pre class="wp-block-code"><code>mysql -u user -p base_de_datos</code></pre>



<p class="wp-block-paragraph">Donde «user» es tu usuario mySQL y «base_de_datos» el nombre de tu base de datos vacía.</p>



<p class="wp-block-paragraph">Ahora te pedirá la contraseña del usuario de mySQL.</p>



<p class="wp-block-paragraph">Una vez conectado especificamos la ruta al archivo de respaldo. Puedes subirlo por FTP a algún directorio de tu servidor.</p>



<p class="wp-block-paragraph">mysql source /ruta_al_archivo_sql/archivo.sql</p>



<p class="wp-block-paragraph">En este momento comenzará la importación, mucho más rápido que através de phpMyAdmin, pues aquí trabajamos directamente con el motor de mySQL sin scripts PHP de por medio.</p>



<p class="wp-block-paragraph">Salvo que exista algún error en una de las tablas, no debería haber ningún problema. A veces he tenido errores de importación por culpa de tablas que han creado plugins de terceros, sobre todo plugins que realizan algún tipo de seguimiento diario, como los monitores de actividad.</p>



<p class="wp-block-paragraph">Hay que tener cuidado con este tipo de plugins, pues sin darnos cuenta pueden estar llenando nuestra base de datos poco a poco, haciendo que posteriormente una importación sea mucho más pesada o más propensa a errores. Para este tipo de plugins siempre intento seleccionar que los registros se hagan a un archivo o log externo y no en la base de datos.</p>



<h2 class="wp-block-heading">Importar SQL desde XAMPP</h2>



<p class="wp-block-paragraph">Si trabajamos con un servidor local como <strong>XAMPP</strong> y necesitamos importar una gran base de datos para trabajar desde nuestro PC, podemos realizar la misma importación desde un terminal mySQL.</p>



<p class="wp-block-paragraph">En este caso tenemos que posicionarnos en la ruta donde se encuentra el servidor mySQL en XAMPP:</p>



<p class="wp-block-paragraph"><strong>/opt/lampp/bin/</strong></p>



<p class="wp-block-paragraph">Dentro de esta ruta tecleamos la orden:</p>



<p class="wp-block-paragraph">./mysql -u root -p base_de_datos</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="844" height="432" src="https://danisanchez.net/wp-content/uploads/2019/09/conexion-bbdd-sql.jpeg" alt="" class="wp-image-6113" srcset="https://danisanchez.net/wp-content/uploads/2019/09/conexion-bbdd-sql.jpeg 844w, https://danisanchez.net/wp-content/uploads/2019/09/conexion-bbdd-sql-300x154.jpeg 300w, https://danisanchez.net/wp-content/uploads/2019/09/conexion-bbdd-sql-768x393.jpeg 768w" sizes="auto, (max-width: 844px) 100vw, 844px" /></figure>



<p class="wp-block-paragraph">Si no hemos especificado ninguna contraseña para root, cuando solite la contraseña simplemente pulsamos Intro.</p>



<p class="wp-block-paragraph">Localizamos donde está el archivo SQL:</p>



<pre class="wp-block-code"><code>./mysql source /home/dani/Documentos/base_de_datos.sql</code></pre>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="844" height="432" src="https://danisanchez.net/wp-content/uploads/2019/09/conexion-bbdd-sql2.jpeg" alt="" class="wp-image-6114" srcset="https://danisanchez.net/wp-content/uploads/2019/09/conexion-bbdd-sql2.jpeg 844w, https://danisanchez.net/wp-content/uploads/2019/09/conexion-bbdd-sql2-300x154.jpeg 300w, https://danisanchez.net/wp-content/uploads/2019/09/conexion-bbdd-sql2-768x393.jpeg 768w" sizes="auto, (max-width: 844px) 100vw, 844px" /></figure>



<p class="wp-block-paragraph">Y que comience la importación. Esto nos puede resultar muy útil si nos encargan llevar un nuevo proyecto y necesitamos descargarlo a nuestro servidor local para hacer los cambios «offline» y la base de datos es demasiado pesada.</p>



<p class="wp-block-paragraph">Espero como siempre que os haya resultado útil este post y nos vemos en el siguiente <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/importar-base-de-datos-sql-de-gran-tamano-sin-phpmyadmin/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Solucionar error $cfg[&#8216;TempDir&#8217;] (./tmp/) inaccesible en phpMyAdmin XAMPP versión GNU/Linux</title>
		<link>https://danisanchez.net/solucionar-error-cfg-tempdir-tmp-inaccesible-en-phpmyadmin-xampp-version-gnu-linux/</link>
					<comments>https://danisanchez.net/solucionar-error-cfg-tempdir-tmp-inaccesible-en-phpmyadmin-xampp-version-gnu-linux/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Thu, 04 Apr 2019 08:11:05 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[chmod]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[xampp]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=5298</guid>

					<description><![CDATA[No es la primera vez que tras actualizar algún equipo y reinstalar XAMPP, al acceder a phpMyAdmin para crear mis bases de datos me encuentro con un error al fondo: El $cfg[&#8216;TempDir&#8217;] (./tmp/) es inaccesible. phpMyAdmin es incapaz de almacenar plantillas y será algo más lento debido a esto. Por suerte es algo fácil de [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">No es la primera vez que tras actualizar algún equipo y reinstalar XAMPP, al acceder a phpMyAdmin para crear mis bases de datos me encuentro con un error al fondo:</p>



<p class="wp-block-paragraph"><em><strong>El $cfg[&#8216;TempDir&#8217;] (./tmp/) es inaccesible. phpMyAdmin es incapaz de almacenar plantillas y será algo más lento debido a esto.</strong></em></p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="946" height="612" src="https://danisanchez.net/wp-content/uploads/2019/04/captura-tmp-phpmyadmin.jpg" alt="" class="wp-image-5299" srcset="https://danisanchez.net/wp-content/uploads/2019/04/captura-tmp-phpmyadmin.jpg 946w, https://danisanchez.net/wp-content/uploads/2019/04/captura-tmp-phpmyadmin-300x194.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/captura-tmp-phpmyadmin-768x497.jpg 768w" sizes="auto, (max-width: 946px) 100vw, 946px" /></figure></div>



<p class="wp-block-paragraph">Por suerte es algo fácil de solucionar. Solo tenemos que crear una carpeta «tmp» dentro del directorio de phpMyAdmin, que si estamos utilizando XAMPP en una distro GNU/Linux la ruta será:</p>



<p class="wp-block-paragraph">/opt/lampp/phpmyadmin/</p>



<p class="wp-block-paragraph">Con que abriendo un terminal y tecleando:</p>



<pre class="wp-block-code"><code>sudo mkdir /opt/lampp/phpmyadmin/tmp</code></pre>



<p class="wp-block-paragraph">Tendríamos el primer paso completado.</p>



<p class="wp-block-paragraph">Ahora solo tenemos que especificar el nuevo directorio en el archivo de configuración (<strong>config.inc.php</strong>) de phpMyAdmin que encontraremos en la misma ruta.</p>



<p class="wp-block-paragraph">A mí me gusta usar <em>nano </em>para editar archivos de sistema, ya que así abro el archivo directamente con permisos de administrador, así que tecleamos:</p>



<pre class="wp-block-code"><code>sudo nano /opt/lampp/phpmyadmin/config.inc.php
</code></pre>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="500" height="444" src="https://danisanchez.net/wp-content/uploads/2019/04/captura-nano.jpg" alt="" class="wp-image-5301" srcset="https://danisanchez.net/wp-content/uploads/2019/04/captura-nano.jpg 500w, https://danisanchez.net/wp-content/uploads/2019/04/captura-nano-300x266.jpg 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></figure></div>



<p class="wp-block-paragraph">Dentro de nano podemos intentar hacer una búsqueda de la instrucción que necesitamos para declarar el directorio &#8216;tmp&#8217;, por si ya se encontrase comentada dentro del archivo de configuración.</p>



<p class="wp-block-paragraph">Para ello utilizando Ctrl + W abriremos el diálogo de búsqueda y tecleamos: $cfg[&#8216;TempDir&#8217;]. En caso de encontrarla debería aparecer algo así:</p>



<p class="wp-block-paragraph"><strong>$cfg[&#8216;TempDir&#8217;] = &#8216; &#8216;;</strong></p>



<p class="wp-block-paragraph">Solo tendríamos que movernos a la línea con las teclas cursores (nano no soporta el mouse) y especificar el directorio &#8216;tmp&#8217; dentro de las comillas, de forma que quede así:</p>



<pre class="wp-block-code"><code>$cfg&#91;'TempDir'] = 'tmp';</code></pre>



<p class="wp-block-paragraph">Si se encuentra comentada, tendremos que eliminar los caracteres de comentario (//) o (/* */) para que la línea se vea con colores activos y no con colores de comentario&#8230;</p>



<p class="wp-block-paragraph">Si no nos devuelve ningún resultado, nos posicionamos en una línea en blanco y tecleamos la instrucción:</p>



<pre class="wp-block-code"><code>$cfg&#91;'TempDir'] = 'tmp';</code></pre>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="774" height="416" src="https://danisanchez.net/wp-content/uploads/2019/04/captura-nano-2.jpg" alt="" class="wp-image-5302" srcset="https://danisanchez.net/wp-content/uploads/2019/04/captura-nano-2.jpg 774w, https://danisanchez.net/wp-content/uploads/2019/04/captura-nano-2-300x161.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/captura-nano-2-768x413.jpg 768w" sizes="auto, (max-width: 774px) 100vw, 774px" /></figure></div>



<p class="wp-block-paragraph">Guardamos los cambios con Ctrl + O y salimos con Ctrl + X.</p>



<p class="wp-block-paragraph">Ahora reiniciamos nuestro servidor XAMPP con:</p>



<pre class="wp-block-code"><code>sudo /opt/lampp/lampp restart</code></pre>



<p class="wp-block-paragraph"><strong>Si el error persiste, necesitaremos dar permisos de lectura y escritura al directorio &#8216;tmp&#8217;, escribiendo en el terminal:</strong></p>



<pre class="wp-block-code"><code>sudo chmod -R 0777 /opt/lampp/phpmyadmin/tmp</code></pre>



<p class="wp-block-paragraph">Y error solucionado.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1050" height="694" src="https://danisanchez.net/wp-content/uploads/2019/04/captura-tmp-phpmyadmin-2.jpg" alt="" class="wp-image-5303" srcset="https://danisanchez.net/wp-content/uploads/2019/04/captura-tmp-phpmyadmin-2.jpg 1050w, https://danisanchez.net/wp-content/uploads/2019/04/captura-tmp-phpmyadmin-2-300x198.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/captura-tmp-phpmyadmin-2-1024x677.jpg 1024w, https://danisanchez.net/wp-content/uploads/2019/04/captura-tmp-phpmyadmin-2-768x508.jpg 768w" sizes="auto, (max-width: 1050px) 100vw, 1050px" /></figure></div>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/solucionar-error-cfg-tempdir-tmp-inaccesible-en-phpmyadmin-xampp-version-gnu-linux/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
	</channel>
</rss>
