Instalar LEMP en CentOs 6
Acerca de Lemp
El paquete de LEMP es un grupo de software de código abierto para poner en marcha servidores web. El acrónimo significa Linux, Nginx, MySQL y PHP. Dado que el servidor ya está ejecutando en CentOS. En el presente tutorial te explicaremos paso a paso como instalar Lemp en CentOs.
Paso 1. Instale los Repositorios Necesarios
Vamos a instalar todo el software necesario con Yum. Sin embargo, como Nginx no está disponible directamente desde CentOS, tendremos que instalar el repositorio epel.
sudo yum install epel-release
Segundo 2. Instalar MySQL
El siguiente paso es comenzar a instalar el software del servidor en el servidor privado, comenzando con MySQL y dependencias.
sudo yum install mysql-server
Una vez completada la descarga, reinicie MySQL:
sudo /etc/init.d/mysqld restart
Puedes hacer alguna configuración de MySQL con este comando:
sudo /usr/bin/mysql_secure_installation
La solicitud le pedirá su contraseña de root actual.
Puesto que acaba de instalar MySQL, es muy probable que no tenga uno, así que déjelo en blanco pulsando enter.
Enter current password for root (enter for none): OK, successfully used password, moving on...
A continuación, el indicador le preguntará si desea establecer una contraseña de root. Siga adelante y elija "Y" y siga las instrucciones.
CentOS automatiza el proceso de configuración de MySQL, preguntándole una serie de preguntas de sí o no.
Es más fácil simplemente decir "Sí" a todas las opciones. Al final, MySQL recargará e implementará los cambios.
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!
Paso 3. Instale Nginx
Al igual que con MySQL, instalaremos Nginx en nuestro servidor privado usando yum:
sudo yum install nginx
Nginx no se inicia por sí solo. Para obtener Nginx en ejecución, escriba:
sudo /etc/init.d/nginx start
Puede confirmar que Nginx se ha instalado en su servidor privado dirigiendo su navegador a su dirección IP.
Puede ejecutar el siguiente comando para revelar la dirección IP de su servidor.
ifconfig eth0 | grep inet | awk '{ print $2 }'
Paso 4. Instalar PHP
El paquete php-fpm se encuentra dentro del repositorio REMI, que, en este punto, está deshabilitado. Lo primero que debemos hacer es habilitar el repositorio REMI e instalar php y php-fpm:
sudo yum install php-fpm php-mysql
Paso 5. Configurar Php
Necesitamos hacer un pequeño cambio en la configuración de php. Abrir php.ini:
sudo vi /etc/php.ini
Busque la línea, cgi.fix_pathinfo = 1 y cambie el 1 a 0.
cgi.fix_pathinfo=0
Si este número se mantiene como un 1, el intérprete PHP hará todo lo posible para procesar el archivo que esté lo más cerca posible del archivo solicitado. Este es un posible riesgo de seguridad. Si este número se establece en 0, a la inversa, el intérprete sólo procesará la ruta exacta del archivo, una alternativa mucho más segura. Guardar y Salir
Paso 6. Configure Nginx
Abra el archivo de configuración Nginx predeterminado:
sudo vi /etc/nginx/nginx.conf
Aumentar el número de procesos de trabajo a 4, luego guardar y salir de ese archivo.
Ahora debemos configurar los hosts Nginx.
Para que el archivo Nginx predeterminado sea más conciso, los detalles del host se encuentran en una ubicación diferente.
sudo vi /etc/nginx/conf.d/default.conf
La configuración debe incluir los cambios a continuación (los detalles de los cambios están bajo la información de configuración):
# # The default server # server { listen 80; server_name example.com; location / { root /usr/share/nginx/html; index index.php index.html index.htm; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Estos son los detalles de los cambios:
- Agregue index.php dentro de la línea de índice.
- Cambie el nombre_servidor a su nombre de dominio o dirección IP (reemplace el example.com en la configuración)
- Cambie la raíz a / usr / share / nginx / html;
- Descomente la sección que comienza con "location ~ \ .php $ {",
- Cambie la raiz para acceder a la root del documento actual, / usr / share / nginx / html;
- Cambie la línea fastcgi_param para ayudar al intérprete PHP a encontrar el script PHP que almacenamos en el directorio raíz del documento.
Guardar y Salir
Abra la configuración php-fpm:
sudo vi /etc/php-fpm.d/www.conf
Reemplace el Apache en el usuario y el grupo con Nginx:
[...] ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache Choosed to be able to access some dir as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx [...]
Termine reiniciando php-fpm.
sudo service php-fpm restart
Paso 7. Crear una Página de Información de PHP
Aunque LEMP está instalado, todavía podemos echar un vistazo y ver los componentes en línea mediante la creación de una página de información rápida php
Para configurar ésto, primero cree un nuevo archivo:
sudo vi /usr/share/nginx/html/info.php
Añadir en la siguiente línea:
<?php phpinfo(); ?>
Ahora, Guarde y Salga.
Reinicie Nginx para que todos los cambios surtan efecto:
sudo service nginx restart
Acabar visitando su página de información de php (asegúrese de reemplazar el ejemplo de dirección IP con la suya correcta): http://12.34.56.789/info.php
Debe ser similar a esto .
Paso 8. Configurar Autostart
Ya casi terminas El último paso es configurar todos los programas recién instalados para que se inicien automáticamente cuando se inicie el servidor.
sudo chkconfig --levels 235 mysqld on sudo chkconfig --levels 235 nginx on sudo chkconfig --levels 235 php-fpm on
Fuente. Artículo traducido y con muy ligeras modificaciones de: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-debian