<?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>lamp &#8211; danisanchez.net</title>
	<atom:link href="https://danisanchez.net/tag/lamp/feed/" rel="self" type="application/rss+xml" />
	<link>https://danisanchez.net</link>
	<description></description>
	<lastBuildDate>Mon, 13 Apr 2026 21:00:56 +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>lamp &#8211; danisanchez.net</title>
	<link>https://danisanchez.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Instalar LAMP (Apache, PHP, MariaDB y phpMyAdmin) en openSUSE Leap 16.0</title>
		<link>https://danisanchez.net/instalar-lamp-apache-php-mariadb-y-phpmyadmin-en-opensuse-leap-16-0/</link>
					<comments>https://danisanchez.net/instalar-lamp-apache-php-mariadb-y-phpmyadmin-en-opensuse-leap-16-0/#respond</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 21:00:56 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<guid isPermaLink="false">https://danisanchez.net/?p=15555</guid>

					<description><![CDATA[Recientemente he migrado mi entorno de trabajo de Debian 13 Gnome a openSUSE Leap 16 KDE Plasma. Hacía tiempo que buscaba cambiar un poco de aires y salir de mi zona de confort basada en .deb para explorar más a fondo el mundo .rpm, y qué mejor que pasar de una distro super estable, aburrida [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Recientemente he migrado mi entorno de trabajo de Debian 13 Gnome a openSUSE Leap 16 KDE Plasma.</p>



<p class="wp-block-paragraph">Hacía tiempo que buscaba cambiar un poco de aires y salir de mi zona de confort basada en .deb para explorar más a fondo el mundo .rpm, y qué mejor que pasar de una distro super estable, aburrida y segura como Debian a otra distro super estable, segura y probablemente más aburrida como la rama Leap de openSUSE, la cual ha estrenado su versión 16 después de 8 años que se ha mantenido la 15 (y la cual aún cuenta con bastante tiempo de soporte).</p>



<p class="wp-block-paragraph">En esta entrada vamos a seguir los pasos para instalar el stack de servidor web para pruebas y desarrollos en local (no vamos a abrir el servidor al exterior, solamente funcionará en nuestro entorno <em>localhost</em>).</p>



<h2 class="wp-block-heading"><strong>Instalar Apache2 en openSUSE Leap 16.0</strong></h2>



<p class="wp-block-paragraph">Primero instalamos el servidor web:</p>



<pre class="wp-block-code"><code>sudo zypper in apache2</code></pre>



<p class="wp-block-paragraph">Una vez instalado, lo habilitamos con el comando:</p>



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



<p class="wp-block-paragraph">Y seguidamente lo iniciamos con:</p>



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



<p class="wp-block-paragraph">Otros comandos básicos de Apache son <em>stop</em> para detenerlo y <em>restart</em> para reiniciarlo, en caso de que hayamos hecho algún cambio en la configuración.</p>



<p class="wp-block-paragraph">El directorio de trabajo donde alojaremos los proyectos es <strong>/srv/www/htdocs</strong>/</p>



<p class="wp-block-paragraph"><strong>Configuración de Apache</strong></p>



<p class="wp-block-paragraph">Dentro del archivo de configuración de Apache, concretamente al principio, en el apartado «&lt;Directory «/srv/www/htdocs»&gt;», necesitamos añadir o descomentar estas líneas:</p>



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



<pre class="wp-block-code"><code>Options Indexed FollowSymLinks
AllowOverride All
Require all granted</code></pre>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="740" src="https://danisanchez.net/wp-content/uploads/2026/03/imagen-2-1024x740.webp" alt="" class="wp-image-15580" srcset="https://danisanchez.net/wp-content/uploads/2026/03/imagen-2-1024x740.webp 1024w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-2-300x217.webp 300w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-2-768x555.webp 768w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-2.webp 1123w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Comprobar que <strong>no haya</strong> una linea que diga <strong>AllowOverride None</strong> (en tal caso, quitarla o comentarla)</p>



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



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



<p class="wp-block-paragraph">Para comprobar que nuestro servidor está en funcionamiento, podemos crear un sencillo archivo index.html en la ruta anterior:</p>



<pre class="wp-block-code"><code>sudo nano /srv/www/htdocs/index.html</code></pre>



<pre class="wp-block-code"><code>&lt;html&gt;
    &lt;body&gt;&lt;h1&gt;Bienvenido a Localhost!&lt;/body&gt;
&lt;/html&gt;</code></pre>



<p class="wp-block-paragraph">Abrimos un navegador web y vamos a la dirección http://localhost/</p>



<p class="wp-block-paragraph">Deberemos ver nuestro mensaje de bienvenida:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="819" src="https://danisanchez.net/wp-content/uploads/2026/03/imagen-1024x819.webp" alt="" class="wp-image-15556" srcset="https://danisanchez.net/wp-content/uploads/2026/03/imagen-1024x819.webp 1024w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-300x240.webp 300w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-768x614.webp 768w, https://danisanchez.net/wp-content/uploads/2026/03/imagen.webp 1189w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><strong>Instalar MariaDB en openSUSE Leap 16.0</strong></h2>



<p class="wp-block-paragraph">A continuación vamos a instalar el gestor de bases de datos MariaDB:</p>



<pre class="wp-block-code"><code>sudo zypper in mariadb</code></pre>



<p class="wp-block-paragraph">Al igual que con Apache, debemos ejecutar los comandos para habilitar el servicio e iniciarlo:</p>



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



<p class="wp-block-paragraph">Y si necesitamos detener o reiniciar el servicio:</p>



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



<h3 class="wp-block-heading">Establecer contraseña de root para MariaDB</h3>



<p class="wp-block-paragraph">Por defecto, el servicio mysql (mariadb) viene sin contraseña de root. Para asignarla ejecutamos el comando:</p>



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



<p class="wp-block-paragraph">Al preguntarnos si queremos asignar una contraseña de roor, decimos que si (y):</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">Después nos hará una serie de preguntas, como si deseamos eliminar usuarios anónimos, borrar tablas de test, etc. En mi caso le doy que sí 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>



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



<p class="wp-block-paragraph">Lo normal es trabajar con un usuario personalizado en lugar de trabajar directamente con root. Para crear un usuario, entramos en la consola de MySQL:</p>



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



<p class="wp-block-paragraph">Y creamos el nuevo usuario:</p>



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



<h2 class="wp-block-heading"><strong>Instalar PHP en openSUSE Leap 16.0</strong></h2>



<p class="wp-block-paragraph">En el momento de escribir este artículo, la versión disponible para openSUSE Leap 16.0 es la 8.4.16. Una versión bastante reciente para una distro con enfoque conservador. Veremos cómo se va actualizando a lo largo de su ciclo de vida :</p>



<pre class="wp-block-code"><code>php --version
PHP 8.4.16 (cli) (built: Dec 19 2025 07:51:15) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.16, Copyright (c) Zend Technologies</code></pre>



<p class="wp-block-paragraph">Para instalar PHP en nuestro entorno LAMP, necesitamos el paquete php general, el paquete conector con Apache y el paquete conector con MySQL:</p>



<pre class="wp-block-code"><code>sudo zyyper in php8 php8-mysql apache2-mod_php8</code></pre>



<p class="wp-block-paragraph">Una vez instalado, descomentamos o añadimos esta línea en al archivo de configuración /etc/apache2/mod_mime-defaults.conf</p>



<p class="wp-block-paragraph">En mi caso la línea no venía comentada y la tuve que añadir.</p>



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



<pre class="wp-block-code"><code>AddType application/x-httpd-php .php</code></pre>



<figure class="wp-block-image size-full"><img decoding="async" width="943" height="812" src="https://danisanchez.net/wp-content/uploads/2026/03/imagen-1.webp" alt="" class="wp-image-15579" srcset="https://danisanchez.net/wp-content/uploads/2026/03/imagen-1.webp 943w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-1-300x258.webp 300w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-1-768x661.webp 768w" sizes="(max-width: 943px) 100vw, 943px" /></figure>



<p class="wp-block-paragraph">Esto hará que Apache interprete los archivos .php como scripts de servidor, en lugar de archivos descargables o de texto plano.</p>



<p class="wp-block-paragraph"><strong>Habilitamos el módulo de php en Apache</strong></p>



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



<p class="wp-block-paragraph"><strong>Habilitamos el módulo rewrite, esencial para manejar URLs amigables en WordPress y otros CMS</strong></p>



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



<p class="wp-block-paragraph"><strong>Ampliamos parámetros en php.ini</strong></p>



<p class="wp-block-paragraph">Por defecto, php viene configurado con unos parámetros mínimos que pueden quedarse cortos a la hora de trabajar, como el caso de la subida de archivos al servidor (limitada a 2MB), o el limite de memoria (128M).</p>



<p class="wp-block-paragraph">El archivo a editar se encuentra en /etc/php8/apache2/php.ini</p>



<p class="wp-block-paragraph">Si vas a trabajar con WordPress u otros CMS, a mí me gusta ampliar estos parámetros:</p>



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



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



<p class="wp-block-paragraph">Ahora reiniciamos Apache para que surtan efecto todos los cambios anteriores:</p>



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



<h2 class="wp-block-heading"><strong>Instalar phpMyAdmin en openSUSE Leap 16.0</strong></h2>



<p class="wp-block-paragraph">phpMyAdmin viene de serie en los repositorios de openSUSE, por lo que la instalación es de lo más sencillo, sin necesidad de descargar de sitios externos ni de editar archivos de configuración.</p>



<pre class="wp-block-code"><code>sudo zypper in phpMyAdmin</code></pre>



<p class="wp-block-paragraph">Para abrirlo accedemos desde el navegador a la ruta: http://localhost/phpMyAdmin </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="958" height="701" src="https://danisanchez.net/wp-content/uploads/2026/03/imagen-4.webp" alt="" class="wp-image-15582" srcset="https://danisanchez.net/wp-content/uploads/2026/03/imagen-4.webp 958w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-4-300x220.webp 300w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-4-768x562.webp 768w" sizes="auto, (max-width: 958px) 100vw, 958px" /></figure>



<p class="wp-block-paragraph">(<strong>Muy importante respetar las mayúsculas y minúsculas</strong> de phpMyAdmin, de lo contrario os dirá que la ruta no existe:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="958" height="496" src="https://danisanchez.net/wp-content/uploads/2026/03/imagen-3.webp" alt="" class="wp-image-15581" srcset="https://danisanchez.net/wp-content/uploads/2026/03/imagen-3.webp 958w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-3-300x155.webp 300w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-3-768x398.webp 768w" sizes="auto, (max-width: 958px) 100vw, 958px" /></figure>



<h2 class="wp-block-heading"><strong>Relajar la seguridad de SELinux</strong></h2>



<p class="wp-block-paragraph">Por último, si trabajas con WordPress o similares y tienes problemas de conexión (por ejemplo, no descarga ni instala plugins), puedes cambiar el nivel de protección de SELinux de estricto a permisivo:</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>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="741" src="https://danisanchez.net/wp-content/uploads/2026/03/imagen-5-1024x741.webp" alt="" class="wp-image-15583" srcset="https://danisanchez.net/wp-content/uploads/2026/03/imagen-5-1024x741.webp 1024w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-5-300x217.webp 300w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-5-768x556.webp 768w, https://danisanchez.net/wp-content/uploads/2026/03/imagen-5.webp 1122w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Reiniciamos el equipo, y ya tendremos todo el stack LAMP listo para desarrollo en local <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-apache-php-mariadb-y-phpmyadmin-en-opensuse-leap-16-0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Instalar LAMP (Linux, Apache, MySQL, PHP) en Opensuse Tumbleweed</title>
		<link>https://danisanchez.net/instalar-lamp-linux-apache-mysql-php-en-opensuse-tumbleweed/</link>
					<comments>https://danisanchez.net/instalar-lamp-linux-apache-mysql-php-en-opensuse-tumbleweed/#respond</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Mon, 09 Jan 2023 12:55:56 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[opensuse]]></category>
		<guid isPermaLink="false">https://danisanchez.net/?p=13640</guid>

					<description><![CDATA[En este artículo vamos a ver cómo: Guía disponible en vídeo Instalar el servidor web Apache en Opensuse Tumbleweed Nos dirigimos a un terminal y escribimos: Comandos básicos para gestionar el servidor Habilitar el servidor Apache: Iniciar el servidor Apache: Detener el servidor Apache: Reiniciar el servidor Apache: Vamos a probar que el servidor está [&#8230;]]]></description>
										<content:encoded><![CDATA[
<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><strong>Habilitar las URLs amigables</strong> (mod rewrite).</li>
</ul>



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



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



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



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



<pre class="wp-block-code"><code>sudo zypper in apache2</code></pre>



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



<p class="wp-block-paragraph"><strong>Habilitar el servidor Apache:</strong></p>



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



<p class="wp-block-paragraph"><strong>Iniciar el servidor Apache:</strong></p>



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



<p class="wp-block-paragraph"><strong>Detener el servidor Apache:</strong></p>



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



<p class="wp-block-paragraph"><strong>Reiniciar el servidor Apache:</strong></p>



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



<p class="wp-block-paragraph">Vamos a probar que el servidor está activo y funciona, para ello crearemos un archivo <em>index.html</em> dentro del directorio web, que en Opensuse se encuentra en <em>/srv/www/htdocs/</em></p>



<pre class="wp-block-code"><code>sudo nano /srv/www/htdocs/index.html</code></pre>



<pre class="wp-block-code"><code>&lt;html&gt;
    &lt;body&gt;&lt;h1&gt;Bienvenido a mi sitio web!&lt;/h1&gt;&lt;/body&gt;
&lt;/html&gt;</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="816" height="558" src="https://danisanchez.net/wp-content/uploads/2023/01/01-lamp-en-opensuse.webp" alt="LAMP en Opensuse" class="wp-image-13642" srcset="https://danisanchez.net/wp-content/uploads/2023/01/01-lamp-en-opensuse.webp 816w, https://danisanchez.net/wp-content/uploads/2023/01/01-lamp-en-opensuse-300x205.webp 300w, https://danisanchez.net/wp-content/uploads/2023/01/01-lamp-en-opensuse-768x525.webp 768w" sizes="auto, (max-width: 816px) 100vw, 816px" /></figure>



<p class="wp-block-paragraph">Nos dirigimos al navegador web hacia la dirección <em>http://localhost</em> y veremos una pantalla como esta:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="990" height="718" src="https://danisanchez.net/wp-content/uploads/2023/01/02-lamp-en-opensuse.webp" alt="" class="wp-image-13643" srcset="https://danisanchez.net/wp-content/uploads/2023/01/02-lamp-en-opensuse.webp 990w, https://danisanchez.net/wp-content/uploads/2023/01/02-lamp-en-opensuse-300x218.webp 300w, https://danisanchez.net/wp-content/uploads/2023/01/02-lamp-en-opensuse-768x557.webp 768w" sizes="auto, (max-width: 990px) 100vw, 990px" /></figure>



<h2 class="wp-block-heading">Instalar MariaDB en Opensuse Tumbleweed</h2>



<p class="wp-block-paragraph">Nos dirigimos a un terminal e instalamos los siguientes paquetes:</p>



<pre class="wp-block-code"><code>sudo zypper in mariadb mariadb-tools</code></pre>



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



<p class="wp-block-paragraph"><strong>Habilitar el servidor MariaDB:</strong></p>



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



<p class="wp-block-paragraph"><strong>Iniciar el servidor MariaDB:</strong></p>



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



<p class="wp-block-paragraph"><strong>Parar el servidor MariaDB:</strong></p>



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



<p class="wp-block-paragraph"><strong>Reiniciar el servidor MariaDB:</strong></p>



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



<h3 class="wp-block-heading">Securizar MariaDB</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 en Opensuse Tumbleweed</h2>



<p class="wp-block-paragraph">Como estamos en una distro <em>rolling-release</em>, las versiones PHP se van actualizando sobre la marcha, por lo que es posible que la versión de este tutorial ya sea más antigua que la que hay actualmente en los repositorios. Para ello podríamos comprobar qué versión existe actualmente en los repositorios, abriendo <em>YaST Software</em> y localizando los paquetes <em>php</em>:</p>



<figure class="wp-block-image size-large"><a href="https://danisanchez.net/wp-content/uploads/2023/01/04-lamp-en-opensuse.webp" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="636" src="https://danisanchez.net/wp-content/uploads/2023/01/04-lamp-en-opensuse-1024x636.webp" alt="" class="wp-image-13648" srcset="https://danisanchez.net/wp-content/uploads/2023/01/04-lamp-en-opensuse-1024x636.webp 1024w, https://danisanchez.net/wp-content/uploads/2023/01/04-lamp-en-opensuse-300x186.webp 300w, https://danisanchez.net/wp-content/uploads/2023/01/04-lamp-en-opensuse-768x477.webp 768w, https://danisanchez.net/wp-content/uploads/2023/01/04-lamp-en-opensuse.webp 1474w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Click para ampliar</figcaption></figure>



<p class="wp-block-paragraph">En este momento la versión de php en los repositorios de Opensuse Tumbleweed es la 8, por lo que instalamos los paquetes corrrespondientes a esta versión:</p>



<pre class="wp-block-code"><code>sudo zypper in php8 php8-mysql apache2-mod_php8</code></pre>



<p class="wp-block-paragraph">Y añadimos la siguiente línea al archivo de configuración /etc/apache2/mod_mime-defaults.conf</p>



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



<pre class="wp-block-code"><code>AddType application/x-httpd-php .php</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="816" height="558" src="https://danisanchez.net/wp-content/uploads/2023/01/03-lamp-en-opensuse.webp" alt="" class="wp-image-13649" srcset="https://danisanchez.net/wp-content/uploads/2023/01/03-lamp-en-opensuse.webp 816w, https://danisanchez.net/wp-content/uploads/2023/01/03-lamp-en-opensuse-300x205.webp 300w, https://danisanchez.net/wp-content/uploads/2023/01/03-lamp-en-opensuse-768x525.webp 768w" sizes="auto, (max-width: 816px) 100vw, 816px" /></figure>



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



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



<p class="wp-block-paragraph">Habilitamos <em>mod-php</em> con el comando:</p>



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



<p class="wp-block-paragraph">Y volvemos a reiniciar Apache:</p>



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



<p class="wp-block-paragraph">Para comprobar si PHP se está ejecutando correctamente crearemos un archivo en el directorio web /<em>srv/www/htdocs/info.php</em> con esta línea:</p>



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



<p class="wp-block-paragraph">Si nos dirigimos a la dirección <em>http://localhost/info.php</em> deberemos ver una página similar a esta con toda la información sobre PHP:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="751" src="https://danisanchez.net/wp-content/uploads/2023/01/05-lamp-en-opensuse-1024x751.webp" alt="" class="wp-image-13650" srcset="https://danisanchez.net/wp-content/uploads/2023/01/05-lamp-en-opensuse-1024x751.webp 1024w, https://danisanchez.net/wp-content/uploads/2023/01/05-lamp-en-opensuse-300x220.webp 300w, https://danisanchez.net/wp-content/uploads/2023/01/05-lamp-en-opensuse-768x563.webp 768w, https://danisanchez.net/wp-content/uploads/2023/01/05-lamp-en-opensuse.webp 1057w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h4 class="wp-block-heading">Ampliar los parámetros en php.ini</h4>



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



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



<p class="wp-block-paragraph">Y ampliamos 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 = 5000</code></pre>



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



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



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



<p class="wp-block-paragraph">Por último vamos a instalar el gestor visual de bases de datos <em>phpMyAdmin</em> escribiendo en el terminal:</p>



<pre class="wp-block-code"><code>sudo zypper in phpMyAdmin</code></pre>



<p class="wp-block-paragraph">Una vez instalado nos dirigimos a la dirección <em>http://localhost/phpMyAdmin</em> (importante respetar las mayúsculas y minúsculas para no tener problemas de acceso):</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="751" src="https://danisanchez.net/wp-content/uploads/2023/01/06-lamp-en-opensuse-1024x751.webp" alt="" class="wp-image-13651" srcset="https://danisanchez.net/wp-content/uploads/2023/01/06-lamp-en-opensuse-1024x751.webp 1024w, https://danisanchez.net/wp-content/uploads/2023/01/06-lamp-en-opensuse-300x220.webp 300w, https://danisanchez.net/wp-content/uploads/2023/01/06-lamp-en-opensuse-768x563.webp 768w, https://danisanchez.net/wp-content/uploads/2023/01/06-lamp-en-opensuse.webp 1057w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Para acceder podemos usar el usuario y contraseña de MariaDB que creamos anteriormente.</p>



<h2 class="wp-block-heading">Habilitar las URLs amigables mod_rewrite en Opensuse Tumbleweed</h2>



<p class="wp-block-paragraph">Habilitamos el módulo mod_rewrite:</p>



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



<p class="wp-block-paragraph">Editamos el archivo de configuración de Apache situado en <em>/etc/apache2/default-server.conf</em>:</p>



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



<p class="wp-block-paragraph">Dentro del apartado &lt;Directory «/srv/www/htdocs»&gt; comentamos las líneas:</p>



<pre class="wp-block-code"><code>#Options
#AllowOverride None</code></pre>



<p class="wp-block-paragraph">Y añadimos estas:</p>



<pre class="wp-block-code"><code>Options Indexes FollowSymLinks MultiViews
Require all granted
AllowOverride All</code></pre>



<figure class="wp-block-image size-large"><a href="https://danisanchez.net/wp-content/uploads/2023/01/07-lamp-en-opensuse.webp" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="888" src="https://danisanchez.net/wp-content/uploads/2023/01/07-lamp-en-opensuse-1024x888.webp" alt="" class="wp-image-13660" srcset="https://danisanchez.net/wp-content/uploads/2023/01/07-lamp-en-opensuse-1024x888.webp 1024w, https://danisanchez.net/wp-content/uploads/2023/01/07-lamp-en-opensuse-300x260.webp 300w, https://danisanchez.net/wp-content/uploads/2023/01/07-lamp-en-opensuse-768x666.webp 768w, https://danisanchez.net/wp-content/uploads/2023/01/07-lamp-en-opensuse.webp 1156w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Click para ampliar</figcaption></figure>



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



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



<p class="wp-block-paragraph">Y eso es todo, ya puedes disfrutar de tu servidor LAMP en Opensuse Tumbleweed. 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>



<p class="wp-block-paragraph"><em>Gran parte de la información ha sido consultada en <a href="https://es.opensuse.org/SDB:Instalar_un_servidor_LAMP" target="_blank" rel="noreferrer noopener">https://es.opensuse.org/SDB:Instalar_un_servidor_LAMP</a></em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/instalar-lamp-linux-apache-mysql-php-en-opensuse-tumbleweed/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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 loading="lazy" 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 loading="lazy" 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 loading="lazy" 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="auto, (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>Evitar que WordPress pida los datos FTP al instalar o actualizar un plugin o tema en localhost</title>
		<link>https://danisanchez.net/evitar-que-wordpress-pida-los-datos-ftp-al-instalar-o-actualizar-un-plugin-o-tema-en-localhost/</link>
					<comments>https://danisanchez.net/evitar-que-wordpress-pida-los-datos-ftp-al-instalar-o-actualizar-un-plugin-o-tema-en-localhost/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Fri, 24 Sep 2021 15:48:21 +0000</pubDate>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=11828</guid>

					<description><![CDATA[Si trabajas con un servidor web o LAMP en modo local para desarrollar o probar tus proyectos web, es posible que WordPress te pida los datos del servidor FTP cuando intentas instalar o actualizar cualquier plugin o theme. Lo normal es que los datos sean: Hostname: localhost Usuario FTP: Tu usuario de sesión en Linux [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Si trabajas con un servidor web o LAMP en modo local para desarrollar o probar tus proyectos web, es posible que WordPress te pida los datos del servidor FTP cuando intentas instalar o actualizar cualquier plugin o theme.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="500" height="592" src="https://danisanchez.net/wp-content/uploads/2021/09/captura-ftp-wordpress.jpg" alt="" class="wp-image-11829" srcset="https://danisanchez.net/wp-content/uploads/2021/09/captura-ftp-wordpress.jpg 500w, https://danisanchez.net/wp-content/uploads/2021/09/captura-ftp-wordpress-253x300.jpg 253w" sizes="auto, (max-width: 500px) 100vw, 500px" /></figure></div>



<p class="wp-block-paragraph">Lo normal es que los datos sean:</p>



<ul class="wp-block-list"><li><strong>Hostname</strong>: localhost</li><li><strong>Usuario FTP</strong>: Tu usuario de sesión en Linux</li><li><strong>Contraseña FTP</strong>: Tu contraseña de sesión en Linux</li></ul>



<p class="wp-block-paragraph">Pero si no quieres poner estos datos cada vez que hagas una de estas gestiones, puede añadir una línea a tu archivo de configuración de WordPress (wp-config.php) situado en el directorio raíz de tu instalación:</p>



<pre class="wp-block-code"><code>define('FS_METHOD', 'direct');</code></pre>



<p class="wp-block-paragraph">Puedes colocar esta línea a continuación de los parámetros de conexión de la base de datos, ni demasiado arriba ni demasiado debajo:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="749" height="609" src="https://danisanchez.net/wp-content/uploads/2021/09/captura-wp-config.jpg" alt="" class="wp-image-11830" srcset="https://danisanchez.net/wp-content/uploads/2021/09/captura-wp-config.jpg 749w, https://danisanchez.net/wp-content/uploads/2021/09/captura-wp-config-300x244.jpg 300w" sizes="auto, (max-width: 749px) 100vw, 749px" /></figure>



<p class="wp-block-paragraph">A partir de ahora, WordPress ya no te pedirá los datos de conexión FTP.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/evitar-que-wordpress-pida-los-datos-ftp-al-instalar-o-actualizar-un-plugin-o-tema-en-localhost/feed/</wfw:commentRss>
			<slash:comments>10</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>
	</channel>
</rss>
