Skip to content

Instantly share code, notes, and snippets.

@luisfranciscocesar
Forked from pokisin/instalacion.md
Last active June 5, 2020 04:26
Show Gist options
  • Save luisfranciscocesar/4bbebb714b5436c6dc9750116e46a53c to your computer and use it in GitHub Desktop.
Save luisfranciscocesar/4bbebb714b5436c6dc9750116e46a53c to your computer and use it in GitHub Desktop.
Instalar LAMP en arch linux (Manjaro)

Pasos para instalar LAMP en Manjaro

  1. Abrimos la terminal y ejecutamos la siguiente linea para actualizar la base de datos de los paquetes
  sudo pacman -Syu
  1. Instalamos el apache y ejecutamos lo siguiente
  sudo pacman -S apache
  1. Reiniciamos el servicio httpd
  sudo systemctl restart httpd
  1. Instalamos el gestor de base de datos
  sudo pacman -S mariadb   ó   sudo pacman -S mysql 
  1. Ponemos a ejecutar el demonio de mysql
  sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
  1. Habilitamos el mysqld
  sudo systemctl enable mysqld
  1. Inicializamos el mysqld
  sudo systemctl start mysqld.service
  1. verificamos el status del mysqld
  sudo systemctl status mysqld
  1. Ejecutamos la instalación de MariaDb
  sudo mysql_secure_installation
  1. Instalamos el PHP
  sudo pacman -S php php-apache 
  1. Configuramos Apache para que funcione en conjunto con PHP.
  sudo nano /etc/httpd/conf/httpd.conf
  • Comentamos o remplazamos la linea
      LoadModule mpm_event_module modules/mod_mpm_event.so 
    
    con la siguiente:
      LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
    
  • Posteriormente, al final del mismo archivo, agregamos el siguiente bloque si usas php5 ó si tienes php7:
    # Use for PHP 5.x:
    LoadModule php5_module modules/libphp5.so
    AddHandler php5-script php
    Include conf/extra/php5_module.conf
    
    # Use for PHP 7.x:
    LoadModule php7_module modules/libphp7.so
    AddHandler php7-script php
    Include conf/extra/php7_module.conf
    
    // para cargar los index.php si se encuentran en el directorio
    <IfModule dir_module>
      <IfModule php7_module>
      	DirectoryIndex index.php index.html
      	<FilesMatch "\.php$">
      		SetHandler application/x-httpd-php
      	</FilesMatch>
      	<FilesMatch "\.phps$">
      		SetHandler application/x-httpd-php-source
      	</FilesMatch>
      </IfModule>
    </IfModule>
    
  1. Creamos un archivo info.php para que nos muestre la configuración del php, agregamos las siguientes lineas
    <?php 
      phpinfo();
    ?>
  1. Guardamos el archivo y reiniciamos el httpd
  sudo systemctl restart httpd
  1. Instalados phpmyadmin
  sudo pacman -S phpmyadmin 
  1. Abrimos el archivo.
  sudo nano /etc/httpd/conf/httpd.conf 
  1. Posteriormente copiamos en siguente bloque al final del archivo.
  # Configuracion de phpMyAdmin
  Include conf/extra/httpd-phpmyadmin.conf
  1. Abrimos el siguente archivo.
  sudo nano /usr/share/webapps/phpMyAdmin/.htaccess
  1. Copiamos el siguiente bloque.
  #deny from all
  1. Abrimos el siguiente archivo.
  sudo nano /etc/httpd/conf/extra/httpd-phpmyadmin.conf
  1. Y agregamos el siguente bloque de codigo.
  Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
  <Directory "/usr/share/webapps/phpMyAdmin">
      Options Indexes FollowSymLinks
      AllowOverride None
      Require all granted
  </Directory>
  1. Abrimos el siguente archivo
  sudo nano /etc/php/php.ini
  1. Y quitamos la ; al modulo siguente para activarlo.
  ;extension=mysqli

deberia quedar asi

  extension=mysqli
  1. Guardamos el archivo y reiniciamos el httpd
  sudo systemctl restart httpd

Felicidades has instalado LAMP en manjaro

Si queremos Habilitar mod_rewrite.

  1. Abrimos el siguente archivo
  sudo nano /etc/httpd/conf/httpd.conf
  1. Descomentamos la siguente linea para activarlo
  #LoadModule rewrite_module modules/mod_rewrite.so

deberia quedar asi

  LoadModule rewrite_module modules/mod_rewrite.so
  1. Modificamos una linea "AllowOverride None" por "AllowOverride All" del siguente bloque en /etc/httpd/conf/httpd.conf
<Directory "/srv/http">
  #
  # Possible values for the Options directive are "None", "All",
  # or any combination of:
  #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
  #
  # Note that "MultiViews" must be named *explicitly* --- "Options All"
  # doesn't give it to you.
  #
  # The Options directive is both complicated and important.  Please see
  # http://httpd.apache.org/docs/2.4/mod/core.html#options
  # for more information.
  #
  Options Indexes FollowSymLinks

  #
  # AllowOverride controls what directives may be placed in .htaccess files.
  # It can be "All", "None", or any combination of the keywords:
  #   AllowOverride FileInfo AuthConfig Limit
  #
  AllowOverride None

  #
  # Controls who can get stuff from this server.
  #
  Require all granted
</Directory>

deberia quedar asi

<Directory "/srv/http">
  #
  # Possible values for the Options directive are "None", "All",
  # or any combination of:
  #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
  #
  # Note that "MultiViews" must be named *explicitly* --- "Options All"
  # doesn't give it to you.
  #
  # The Options directive is both complicated and important.  Please see
  # http://httpd.apache.org/docs/2.4/mod/core.html#options
  # for more information.
  #
  Options Indexes FollowSymLinks

  #
  # AllowOverride controls what directives may be placed in .htaccess files.
  # It can be "All", "None", or any combination of the keywords:
  #   AllowOverride FileInfo AuthConfig Limit
  #
  AllowOverride All

  #
  # Controls who can get stuff from this server.
  #
  Require all granted
</Directory>

Y listo tenemos habilitado el mod_rewrite.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment