Contactos

Configurar el correo del sistema

A menudo tengo que trabajar con proyectos de varios sitios, teniendo el conocimiento y la experiencia de administrar el sistema operativo Linux, se decidió plantear propio servidor web basado en CentOS 7, para probar y depurar proyectos. En este artículo, además del conjunto mínimo de comandos para instalar LAMP en CentOS 7, Hablaré sobre cómo mejorar la seguridad de su servidor. No deshabilitaremos SELinux, en su lugar lo configuraremos para su uso en el servidor web, además vamos a realizar la instalación y configuración básica de Firewalld.

Considere en detalle instalar y configurar un servidor FTP en CentOS 7 En la base ProFTPD... Como siempre, para la conveniencia de la percepción, el material se divide en bloques semánticos. En este artículo encontrará soluciones para las siguientes tareas:

  • Instalación de LAMP en CentOS 7
  • Configuración de SELinux
  • Instalación y configuración de phpMyAdmin en CentOS 7
  • Crear y configurar hosts virtuales
  • Creación de bases de datos para sitios.
  • Instalación de Joomla 3.6 en CentOS 7
  • Instalación y Configuración de FTP servidor
  • Instalación y configuración de Firewalld
Preparación del sistema

Conectando el repositorio de EPEL:

Sudo yum -y instalar epel-release

Actualicemos el sistema:

Sudo yum -y actualización

Instalar en pc administrador de archivos... Estoy acostumbrado a trabajar con Midnight Commander, estoy bastante satisfecho tanto con la facilidad de navegación a través del sistema de archivos como con el editor integrado de mcedit. Ejecutar en terminal:

Sudo yum -y instalar mc

Configuración de SELinux

SELinux es un sistema de control de acceso obligatorio diseñado para aumentar el nivel de seguridad de su servidor. En algunos casos, el uso de SELinux puede causar problemas durante la instalación y configuración de los componentes del sistema. Hay dos soluciones para esta situación: configurar SELinux correctamente o simplemente deshabilitarlo. En cualquier caso, hay que sopesar los riesgos. Si está configurando un servidor de prueba en la red local para tareas personales, simplemente puede deshabilitar SELinux, pero en el caso del uso de combate del servidor en Internet, le recomiendo que aproveche al máximo todos los medios de protección disponibles. Qué camino tomar es tu decisión. No estoy deshabilitando SELinux.

Establecer permisos en SELinux

Para trabajar con el contexto SELinux, necesitamos la utilidad semanage incluida en el paquete policycoreutils-python, vamos a instalarla:

Sudo yum -y install policycoreutils-python

Es posible establecer como permisos temporales (funcionará hasta que se reinicie el sistema):

Sudo chcon -R -t httpd_sys_content_t / ruta / a / www sudo chcon -R -t httpd_sys_rw_content_t / ruta / a / www

También lo son los permisos permanentes:

Sudo semanage fcontext -a -t httpd_sys_content_t "/ruta/a/www(/.*)?" sudo semanage fcontext -a -t httpd_sys_rw_content_t "/ruta/a/www(/.*)?" sudo restorecon -R / ruta / a / www

Estos permisos deben especificarse después de crear un directorio de inicio para su sitio (se explica en detalle a continuación).

Donde / ruta / a / www es la ruta al directorio raíz de su sitio

httpd_sys_content_t - permitir acceso de lectura

httpd_sys_rw_content_t: permite el acceso de escritura.

Desactivar SELinux

Para deshabilitar, ejecute en la terminal:

Sudo sed -i "s / \ (^ SELINUX = \). * / \ SELINUX = desactivado /" / etc / sysconfig / selinux sudo sed -i "s / \ (^ SELINUX = \). * / \ SELINUX = desactivado / "/ etc / selinux / config

Para aplicar la configuración, debe reiniciar el sistema:

Reiniciar sudo systemctl

Después de reiniciar, verifique el estado con el comando:

Sestatus

Debería ver la siguiente información:

Estado de SELinux: deshabilitado

Instalación y configuración de MariaDB

Ejecutar para instalar:

Sudo yum -y instalar mariadb-server mariadb

Comencemos el servicio:

Sudo systemctl iniciar mariadb.service

Agreguemos al inicio:

Sudo systemctl enable mariadb.service

Realice la configuración básica:

Sudo mysql_secure_installation

Echemos un vistazo más de cerca a la configuración:

Ingrese la contraseña actual para root (ingrese para ninguno) deje el campo vacío presione Enter Establecer contraseña de root Y Nueva contraseña: Establezca la contraseña Vuelva a ingresar la nueva contraseña: Confirme Eliminar usuarios anónimos Y No permita el inicio de sesión de root de forma remota Y Elimine la base de datos de prueba y acceda a ella Y ¿Recargar tablas de privilegios ahora? ¡Todo listo! Si ha completado todos los pasos anteriores, su instalación de MariaDB ahora debería ser segura. ¡Gracias por usar MariaDB!

Instalación y configuración de Apache

Para instalar Apache, ejecute en una terminal:

Sudo yum -y instalar httpd

Apache se configura editando el archivo de configuración:

Deben realizarse los siguientes cambios:

# Compruebe si la línea al final del archivo no tiene comentarios: IncludeOptional conf.d / *. Conf # También agregue la siguiente línea a continuación: ServerName 127.0.0.1

Inicie Apache:

Sudo systemctl iniciar httpd.service

Agreguemos el servicio al inicio:

Sudo systemctl habilita httpd.service

Acudiendo a la dirección:

Http://xxx.xxx.xxx.xxx

(donde xxx.xxx.xxx.xxx es la dirección IP de su servidor), debería ver la página de prueba de Apache:

* Si no puede abrir la página de prueba de Apache, desactive Firewalld por un tiempo, ajuste detallado el firewall se discutirá a continuación:

Sudo systemctl detener firewalld

Ocultemos la información sobre la versión de Apache, los módulos y el sistema operativo (de forma predeterminada, esta información está disponible para todos en el mundo exterior):

Sudo mcedit /etc/httpd/conf/httpd.conf

Agregue al final del archivo:

ServerSignature Off ServerTokens Prod

Reinicie el servicio:

Instalación y configuración de PHP

Instalar PHP:

Sudo yum -y instalar php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-mcrypt php-pecl-apc

Edite el archivo de configuración php:

Sudo mcedit /etc/php.ini # descomentar y modificar realpath_cache_size = 1024k

Reinicie Apache:

Sudo systemctl reiniciar httpd.service

Instalar phpMyAdmin, restringir el acceso

Instalación:

Sudo yum -y instalar phpmyadmin

Edite el archivo de configuración:

Sudo mcedit /etc/httpd/conf.d/phpMyAdmin.conf

Realice los siguientes cambios al permitir conexiones desde hosts remotos::


# Apache 2.4

# Requiere ip 127.0.0.1
# Requerir ip :: 1

Requerir ip xxx.xxx.xxx.xxx (dirección IP de la máquina cliente)

Requerir todo concedido




# Apache 2.2
Orden denegar, permitir
Negar todo
Permitir desde 127.0.0.1
Permitir desde: 1

# Página de configuración de PhpMyAdmin


# Apache 2.4

# Requiere ip 127.0.0.1
# Requerir ip :: 1
# Permitir la conexión remota desde una IP específica
Requerir ip xxx.xxx.xxx.xxx (dirección IP de la máquina cliente)
# Permitir todo conexiones remotas
Requerir todo concedido




# Apache 2.2
Orden denegar, permitir
Negar todo
Permitir desde 127.0.0.1
Permitir desde: 1

¡Atención! Para aumentar la seguridad del servidor, no recomiendo que use permisos para todos los hosts remotos (es decir, Requerir que se otorguen todos); en este artículo, estas configuraciones se dan como referencia.

Limitar el acceso al directorio / usr / share / phpMyAdmin / a una dirección IP específica Requerir ip xxx.xxx.xxx.xxx(donde xxx.xxx.xxx.xxx es la dirección IP de la máquina cliente), y si se requiere un ajuste fino, restrinja el acceso al directorio / usr / share / phpMyAdmin / setup / antes de Requiere ip 127.0.0.1 al final de todos los ajustes.

No me gusta usar phpMyAdmin en servidores de producción. Sin embargo, para un principiante o para servidor de prueba este panel web proporciona un cierto nivel de conveniencia.

Reinicie Apache:

Para acceder a la interfaz web de phpMyAdmin, escriba en la barra de direcciones:

Usuario: root

Contraseña: la configura durante la fase de configuración de MariaDB

Para acceder a la página de configuración de phpMyAdmin, escriba en la barra de direcciones:

Http: // dirección IP del servidor / phpmyadmin / setup

No olvide restringir el acceso a la página de configuración una vez que se hayan completado todas las instalaciones.

Creando una base de datos para el sitio

Creando una base de datos en la consola

Conéctese al servidor MySQL:

Mysql -u raíz -p

Ingrese la contraseña de root (la configuramos al principio del artículo) y presione Enter.

Creación de base de datos:

CREAR BASE DE DATOS `sitio` CONJUNTO DE CARACTERES utf8 COLLATE utf8_general_ci;

Es recomendable seleccionar inmediatamente la base de datos mysql, ya que todas las configuraciones adicionales se ingresarán en él.

Utilice mysql;

Cree un usuario del sitio con la contraseña Zaq12wsx para la base de datos del sitio:

¡Atención! utilice contraseñas complejas.

OTORGAR TODOS LOS PRIVILEGIOS EN EL SITIO. * A "site" @ "localhost" IDENTIFICADO POR "Zaq12wsx" CON OPCIÓN DE SUBVENCIÓN;

Desconectarse del servidor MySQL:

Creando una base de datos con phpMyAdmin

Abrir en un navegador

Http: // dirección IP del servidor / phpmyadmin

Vaya a la sección "Bases de datos"

Especifique el nombre de la base de datos, cotice y haga clic en "Crear"

Vaya a la sección "Usuarios", haga clic en "Agregar usuario"

Proporcione un nombre de usuario, restrinja el acceso local, establezca una contraseña y una confirmación. Marque la casilla "Otorgar todos los privilegios a la base de datos" nombre base "(en nuestro caso sitio)". Haga clic en "Adelante" para continuar.

¡Atención! Utilice contraseñas complejas.

Haga clic en el icono Cerrar sesión para salir de phpMyAdmin.

Ha creado con éxito una base de datos y un usuario privilegiado para su sitio.

Crear un directorio de inicio, establecer permisos, preparar Joomla

Cree un directorio de inicio para el sitio:

Sudo mkdir /var/www/html/site.ru

Cree un directorio para almacenar registros:

Sudo mkdir /var/www/html/site.ru/logs

Vaya al directorio de inicio del sitio:

Cd /var/www/html/site.ru

Para Instalaciones de Joomla 3.6 necesita wget y descomprimir, ejecutar en la terminal:

Sudo yum -y install wget unzip

Descarga desde el sitio oficial ultima versión Joomla, en el momento de escribir este artículo, esta es la versión 3.6.2:

Sudo wget https://github.com/joomla/joomla-cms/releases/download/3.6.2/Joomla_3.6.2-Stable-Full_Package.zip

Deshacer:

Sudo descomprime Joomla_3.6.2-Stable-Full_Package.zip

Establecer permisos de archivo:

Sudo find. -tipo f -exec chmod 0644 () \;

Establezcamos los derechos de los directorios:

Sudo find. -tipo d -exec chmod 0755 () \;

Cambie el propietario al usuario de Apache:

Sudo chown apache: apache -R /var/www/html/site.ru

¡Atención! Si no ha desactivado SELinux, debe habilitar la lectura y escritura de Apache:

Sudo yum -y install policycoreutils-python sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/site.ru(/.*)?" sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/site.ru(/.*)?" sudo restorecon -R /var/www/html/site.ru

Crear, configurar y probar hosts virtuales

Cree un host virtual site.ru:

Sudo mcedit /etc/httpd/conf.d/site.ru.conf

Especifique la configuración del host virtual:

ServerAdmin [correo electrónico protegido] ServerName site.ru ServerAlias ​​www.site.ru DocumentRoot /var/www/html/site.ru Opciones FollowSymLinks AllowOverride All Exigir todo concedido ErrorLog /var/www/html/site.ru/logs/error.log CustomLog /var/www/html/site.ru/logs/access.log común

Reinicie Apache:

Sudo systemctl reiniciar httpd.service

Otros hosts virtuales se crean de manera similar, no olvide crear directorios de inicio para nuevos sitios.

Para comprobar que el host virtual está configurado correctamente, debe editar el archivo de hosts en la máquina cliente.

# Abrir con un editor de texto C: \ Windows \ System32 \ drivers \ etc \ hosts # Realizar los siguientes cambios xxx.xxx.xxx.xxx site.ru xxx.xxx.xxx.xxx www.site.ru

# Abra con un editor de texto sudo mcedit / etc / hosts # Realice los siguientes cambios xxx.xxx.xxx.xxx www.site.ru site.ru

* Donde xxx.xxx.xxx.xxx es la dirección IP de su servidor

Guarde y vuelva a cargar su navegador.

Instalar Joomla y lanzar el sitio

Abrir en un navegador:

Http://site.ru

Http://www.site.ru

Te conoce Asistente de instalación de Joomla:

Debe seleccionar el idioma de la instalación de Joomla 3.6.2. especifique el nombre del sitio, el correo electrónico del administrador, el inicio de sesión, la contraseña del administrador y la confirmación de la contraseña. Presione siguiente para continuar.

Configuración de la base de datos. Especifique el tipo de base de datos, deje el nombre del servidor por defecto "localhost". Proporcione un nombre de usuario (en mi caso, sitio), una contraseña (Zaq12wsx) y un nombre de base de datos (sitio). También puede especificar manual o automáticamente el "Prefijo de tabla". El prefijo se puede utilizar en el caso de almacenar datos de varios sitios en una base de datos, en cuyo caso, para cada sitio, debe especificar su propio prefijo que sea diferente de los demás. Haga clic en "Siguiente" para continuar con la instalación de Joomla.

Finalización de la instalación. En esta página puede ver un resumen de todas las configuraciones del sitio, así como instalar datos de demostración. Haga clic en el botón "Instalar".

A la espera de su finalización Proceso de instalación de Joomla 3.6.2 en el servidor web CentOS 7.

Te sugiero de inmediato Russify Joomla 3.6.2... Haga clic en Instalar paquetes de idioma.

Seleccione el idioma requerido de la lista.

Por el momento, no utilizaremos el multilingüismo en nuestro sitio web. Especifique el idioma del panel de control, así como el idioma del sitio y haga clic en "Siguiente".

Haga clic en "Eliminar directorio de instalación".

Instalación de Joomla 3.6.2 por tu cuenta Servidor web CentOS 7 Completado satisfactoriamente.

Instalación y configuración de ProFTPD

Para instalar ProFTPD, ejecute:

Sudo yum -y instalar proftpd proftpd-utils

Inicie el servicio:

Sudo systemctl start proftpd

Activar proftpd al inicio:

Sudo systemctl enable proftpd

Edite el archivo de configuración del servidor:

Sudo mcedit /etc/proftpd.conf

Cambie el parámetro "DefaultRoot" a la siguiente forma:

DefaultRoot ~

Comente el parámetro predeterminado "AuthOrder":

#AuthOrder mod_auth_pam.c * mod_auth_unix.c

Agregue los siguientes parámetros al final del archivo:

AuthUserFile /etc/ftpd.passwd RequireValidShell desactivado AuthPAM desactivado RootLogin desactivado PassivePorts 30000 35000 ListOptions -a LoadModule mod_auth_file.c AuthOrder mod_auth_file.c

Veamos la lista de usuarios:

Sudo cat / etc / passwd

Salida de comando:

*** sshd: x: 74: 74: SSH separado por privilegios: / var / empty / sshd: / sbin / nologin mysql: x: 27: 27: MariaDB Server: / var / lib / mysql: / sbin / nologin apache : x: 48: 48: Apache: / usr / share / httpd: / sbin / nologin

En mi caso, Apache tiene los siguientes ID de usuario y grupo: UserId = 48, GroupId = 48.

Cree un usuario ftp virtual con el sitio de inicio de sesión, ID de usuario 48, grupo 48 y directorio de inicio /var/www/html/site.ru:

Sudo ftpasswd --passwd --file = / etc / ftpd.passwd --name = site --uid = 48 --gid = 48 --home = / var / www / html / site.ru --shell = / bin / falso

Después de ejecutar el comando, el sistema le pedirá que ingrese la contraseña del usuario creado dos veces (recomiendo encarecidamente el uso de contraseñas complejas). Como resultado de ejecutar el comando, se creará el archivo /etc/ftp.passwd con una entrada sobre el usuario.

Puede cambiar la contraseña del usuario con el siguiente comando:

Sudo ftpasswd --file /etc/ftpd.passwd --passwd --name = site --change-password

Edite los permisos para el archivo con los usuarios:

Sudo chgrp nadie /etc/ftpd.passwd sudo chmod 640 /etc/ftpd.passwd

SELinux. Permitir Acceso completo a archivos para proftpd:

Sudo setsebool -P allow_ftpd_full_access = 1

Reinicie el servicio proftpd:

Sudo systemctl reiniciar proftpd

Firewalld: aumento de la seguridad del servidor

Firewalld es un nuevo firewall incluido con CentOS 7. Para instalar Firewalld, ejecute:

Sudo yum -y instalar firewalld

Lanzamiento:

Sudo systemctl iniciar firewalld

Incluimos en startup:

Sudo systemctl habilitar firewalld

Vamos a revisar:

Sudo systemctl status firewalld

Si va al sitio ahora, no se le abrirá nada. Bloques de Firewalld conexiones de red... Veamos qué está permitido por defecto:

Sudo firewall-cmd --permanent --list-all

Salida de comando:

Interfaces públicas (predeterminadas): fuentes: servicios: ssh dhcpv6-client masquerade: no forward-ports: icmp-blocks: rich rules:

Permitido permanentemente el cliente ssh y dhcp v6. No uso ip v6 en el servidor, por lo que eliminaré la regla correspondiente:

Sudo firewall-cmd --permanent --zone = public --remove-service = dhcpv6-client

Para que el servidor web funcione, debe habilitar el servicio http (puerto 80):

Sudo firewall-cmd --permanent --zone = public --add-service = http

Si planea usar https en su sitio web, debe habilitar el servicio https (puerto 443):

Sudo firewall-cmd --permanent --zone = public --add-service = https

Para que el servidor FTP funcione, es necesario abrir 21 puertos, así como los puertos 30000-35000 para usar el modo pasivo en clientes FTP:

Sudo firewall-cmd --permanent --zone = public --add-port = 21 / tcp sudo firewall-cmd --permanent --zone = public --add-port = 30000-35000 / tcp

Recarguemos las reglas:

En esta etapa de configuración de Firewalld, su sitio está disponible nuevamente. Pero me gustaría sugerirle que tome algunos pasos más para aumentar el nivel de seguridad de su servidor. Hay algunos detalles escritos. Uno de los pasos de configuración es cambiar el puerto estándar, echemos un vistazo más de cerca a la configuración de Firewalld al cambiar el puerto ssh.

Permitamos permanentemente (para que después del reinicio no se pierda) la conexión al puerto 2220 / tcp (colgaremos sshd en él):

Sudo firewall-cmd --permanent --zone = public --add-port = 2220 / tcp

Recarguemos las reglas:

Sudo firewall-cmd --reload

Vamos a revisar:

Sudo firewall-cmd --zone = public --list-ports

Salida de comando:

2220 / tcp

El puerto está abierto. Editando la configuración de sshd:

Sudo mcedit / etc / ssh / sshd_config

Haciendo cambios:

*** # Si desea cambiar el puerto en un sistema SELinux, debe informar a # SELinux sobre este cambio. # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER # El archivo solo necesita especificar el puerto 2220 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: ***

Reinicie ssh:

Sudo systemctl restart sshd.service

Además, si está utilizando SELinux (espero que no lo haya desactivado), debe realizar configuraciones adicionales. Esto se debe al hecho de que SELinux no permitirá conectarse a ssh en un puerto no estándar (2220):

Sudo semanage port -a -t ssh_port_t -p tcp 2220

Después de verificar la conexión ssh en el nuevo puerto, cierre el acceso al puerto 22:

Sudo firewall-cmd --permanent --zone = public --remove-service = ssh

Recarga las reglas:

Sudo firewall-cmd --reload

Revisemos la configuración de Firewalld:

Sudo firewall-cmd --list-all

Salida de comando:

Interfaces públicas (predeterminadas): fuentes: servicios: puertos http https: 2220 / tcp 21 / tcp 30000-35000 / tcp masquerade: no forward-ports: icmp-blocks: rich rules:

Abrimos el acceso al servidor a través de http, https, ftp, así como el puerto 2220 en el que ahora se está ejecutando el servicio ssh.

¡Hola, todos! Hoy en el artículo consideraremos la instalación. CentOS 7 mínimo, configuración inicial de la red e instalación de una interfaz gráfica denominada Compañero... Ya tenemos un artículo y un video sobre, pero al instalar Minimal, hay varias sutilezas sobre ellos, a continuación.

La primera diferencia es que la imagen es un poco más grande: 700 MB, pero aún es incomparable con el volumen del DVD o la edición completa. La siguiente diferencia, a continuación de la anterior, es que no hay posibilidad de elegir software adicional para la instalación (captura de pantalla a continuación):

CentOS 7 también agregó la capacidad de habilitar la interfaz de red directamente durante la instalación; este no fue el caso en la versión 6, sin embargo, también demostraré la forma más intuitiva de configurar la interfaz de red en la versión 7.

Proceso de instalación

Entonces, realizamos todos los pasos de manera secuencial, esperamos 15-30 minutos e ingresamos nuestro usuario / contraseña (habiéndonos conectado previamente a través del terminal).

El primer deseo fue verificar si la interfaz de red está funcionando y si se le ha asignado una dirección: ingresé el comando ifconfig y, como resultó, comando dado en la versión 7 es obsoleta y, en su lugar, debe usar el comando ipaddr para mostrar información sobre las interfaces y el comando iplink para mostrar estadísticas sobre ellas.

Pero como todo el mundo está acostumbrado a los comandos estándar del paquete net-tools, será necesario instalarlo con el comando yum install net-tools. Sin embargo, recordando la primera sensación de malentendido, cuando la red no funcionó para mí en la instalación mínima en la versión 6, quiero mostrar además una forma muy simple de configurarla, más sobre eso a continuación.

¡Importante! El comando ifconfig está obsoleto. Para la interacción de la red con el servidor, recomendamos utilizar el comando "ip" (ip -a), que es superior en funcionalidad (desde el punto de vista L2 y L3) a "ifconfig".

Configuración de interfaces de red con nmtui

Ingresamos el comando nmtui; como resultado, debería comenzar una interfaz gráfica simple para configurar la red (captura de pantalla a continuación):


Por ejemplo, quiero cambiar la configuración de la única interfaz: seleccione la primera opción Editar una conexión y vemos la siguiente imagen:


Nosotros elegimos Editar ... y hacer lo que queramos con la interfaz :) Como puede ver en la captura de pantalla a continuación, nuestro servidor recibió una dirección IP a través de DHCP, me conviene y dejaré todo como está. El objetivo principal era demostrar esta utilidad: nmtui


Instalación de MATE y paquetes requeridos

Entonces, ¿por qué MATE? La respuesta es simple: es mucho más liviano, muy eficiente en recursos y extremadamente fácil de instalar. Entonces, producimos varios pasos sencillos para instalar paquetes (abajo):

  • yum groupinstall "Herramientas de desarrollo": instalación del conjunto de paquetes necesario para la GUI (solo si no está ya instalado);
  • yum install epel-release - instalación del repositorio EPEL;
  • yum groupinstall "X Window system": instala el paquete del grupo X Window System, tardará unos 5 minutos. El paquete en sí tiene un volumen de 73 MB;
  • yum groupinstall "MATE Desktop" - instalación directa Mate - un paquete bastante grande - 506 MB;

Instalación y subsecuente personalización sistema operativo CentOS 7 tendrá lugar en una máquina virtual creada en el programa VrtualBox, esta instrucción es completamente adecuada para la instalación directamente en un servidor de hierro.

CentOS es una distribución de Linux basada y compatible con Red Hat Enterprise Linux comercial de Red Hat. Cada versión de CentOS tiene soporte durante 10 años. CentOS se actualiza cada 6 meses para admitir hardware nuevo.

En este artículo encontrarás descripción paso a paso instalación mínima de CentOS 7, para su comodidad y estructuración visual, el material se divide en varias partes principales.

Preparación para la instalación

Ir al sitio web oficial de CentOS

Haga clic en "Obtener CentOS ahora"

En la página que se abre, haga clic en el botón "ISO mínimo"

Al final de la descarga, tenemos Imagen ISO disco de instalación CentOS 7. Esta imagen debe escribirse en el disco (si está instalada en un servidor de hierro) o usarse tal como está (si está instalada en una máquina virtual). Si planea instalar el sistema en una máquina virtual, también puede encontrar útiles los siguientes artículos:

Instalación de CentOS 7

Todo esta listo para instalaciónCentOS 7... Inicie su computadora o máquina virtual, después de configurar el inicio desde CD-Rom (si usa una máquina virtual, especifique el archivo ISO directamente). Como resultado de la descarga, verá el siguiente menú:

Inicie el proceso de instalación.

Diagnostique los medios e inicie el proceso de instalación.

Seleccione el segundo elemento y presione "Enter".

Después de verificar los medios, se iniciará el instalador de CentOS 7.

Seleccionamos ruso y hacemos clic en el botón "Continuar".

La configuración se llevará a cabo en el siguiente orden: configuración del teclado; configuración de la red; fecha y hora; ubicación de la instalación.


Configuremos el teclado, para ello hacemos clic en el botón "Teclado" y cambiamos la prioridad de los diseños moviendo hacia arriba el diseño en inglés (seleccionar y mover con la ayuda de las flechas). Puede cambiar la combinación de teclas para cambiar la distribución del teclado (por ejemplo, a Ctrl + Shift), para ello debe hacer clic en el botón "Opciones" y realizar los cambios necesarios. Después de completar todos los ajustes, haga clic en "Finalizar".

Haga clic en el botón "Red y nombre de host". De forma predeterminada, la red está deshabilitada, para habilitar adaptador de red debe hacer clic en el interruptor en la esquina superior derecha de la pantalla. Si su red tiene un servidor DHCP configurado, todas las configuraciones se recogerán automáticamente. Además, si su red tiene un servidor DNS configurado, se generará un nombre de host. Si no hay servidores DHCP ni DNS, la configuración debe especificarse manualmente. Si planeas usar sistema instalado para resolver las tareas del servidor, le recomiendo encarecidamente que especifique la configuración de red y el nombre de host manualmente. Especifique el nombre de host y, para configurar la red, debe hacer clic en el botón "Configurar ...".

En la pestaña "General", asegúrese de marcar la casilla junto a "Conectarse automáticamente a esta red cuando esté disponible"; de lo contrario, después de reiniciar la computadora conexión de red estará inactivo.

En la pestaña "Ethernet", en la posición "Dirección MAC del dispositivo", debe especificar el adaptador de red.

En la pestaña "Parámetros IPv4" del menú desplegable "Método de configuración", el elemento "Automático (DHCP)" está seleccionado de forma predeterminada, cambie a "Manual", luego haga clic en el botón "Agregar", indique: dirección ( ¡debe ser gratis!); máscara de red; Puerta; Los servidores DNS están separados por comas; también puede especificar un dominio de búsqueda (si está utilizando una red de dominio).

Si no está utilizando IPv6 en su red, en la pestaña Configuración de IPv6, seleccione Ignorar en el menú desplegable Método de configuración.

Ajuste de fecha y hora. Seleccione la sección apropiada en el menú de instalación. Indicamos la ciudad y la región, luego activamos el interruptor "Network Time" en la esquina superior derecha de la pantalla. Compruebe que la hora se haya sincronizado correctamente con el servidor NTP. Haga clic en Finalizar para volver al menú principal del instalador.

Haga clic en "Seleccionar programas". En este artículo veremos la opción "Instalación mínima". Me parece que este concepto es la solución más correcta a la hora de configurar un servidor. Todos los programas y servicios necesarios que se requieren en el servidor se instalan y configuran más tarde. Seleccione "Instalación mínima" y haga clic en el botón "Finalizar".

Pasamos al apartado "Lugar de instalación". Seleccionar el disco en el que vamos a producir instalar CentOS 7... Marque la casilla de verificación "Configuraré las secciones" y haga clic en el botón "Finalizar".

Yo uso específicamente un disco en el que ya hay particiones, marque y haga clic en el botón "-" para eliminar.

Si el instalador detecta que hay un sistema operativo instalado (en la partición que se va a eliminar), se le pedirá que confirme la eliminación.

Haga clic en el botón "Eliminar".

Una vez que haya borrado todo el disco, haga clic en el enlace "Haga clic aquí para crearlos automáticamente". El programa de partición de disco creará automáticamente las siguientes particiones:

Es necesario cambiar ligeramente la estructura creada. No voy a crear sección separada y un punto de montaje para el directorio de inicio. Para hacer esto, debe seleccionarlo y eliminarlo:

Después de eliminar la partición de inicio, tenemos algo de espacio libre en el disco. Aumentemos el tamaño de intercambio y configurémoslo igual a la cantidad de RAM, en mi caso 2Gb. Para hacer esto, seleccione la partición y configure el volumen requerido en la línea "Capacidad deseada":

Aumentemos el tamaño de la partición raíz, para hacer esto, selecciónelo y establezca el volumen requerido en la línea "Capacidad deseada" (puede especificar un tamaño mayor que el espacio disponible, por lo que el programa de particionamiento calculará y asignará automáticamente todos los espacio libre restante para la partición):

También puede cambiar el nombre del grupo en el menú desplegable "Grupo de volumen". Seleccione nuestro disco en el campo "Nombre", especifique el nombre y guarde:

Haga clic en el botón "Finalizar" para completar la partición de los discos.

El programa de marcado mostrará una lista de cambios, haga clic en el botón "Aceptar cambios".

En esta etapa, puede crear usuarios del sistema y establecer una contraseña para el usuario root. V este ejemplo No crearé usuarios, sino que usaré la cuenta del sistema de usuario raíz.

Haga clic en el botón "CONTRASEÑA RAÍZ":

Establezcamos una contraseña para el usuario root. Si el sistema considera que la contraseña es débil, debe confirmarla haciendo doble clic en el botón "Finalizar".

Estamos esperando el final del proceso de instalación de CentOS 7. Cuando termine, haga clic en "Reiniciar".

En este instalando CentOS 7 terminado.

Configuración del sistema operativo CentOS

Primer lanzamiento de CentOS.

Ahora no consideraremos el ajuste fino del sistema, sino que nos centraremos en el mínimo requerido para el correcto funcionamiento del sistema operativo.

La descarga predeterminada no es informativa. Después de iniciar el sistema, estamos esperando el mensaje estándar para ingresar un nombre de usuario y contraseña. Además, como es conveniente para cualquier persona, puede conectarse a través de ssh o iniciar sesión usando la consola.

También necesita asegurar la conexión remota al servidor con CentOS 7 -.

Después de completar estos pasos, agregue los repositorios EPEL y rpmforge más populares.

Yum -y instalar epel-release

Actualización del sistema base después de la instalación.

Agreguemos algunos utilidades útiles, que puede resultar útil durante el funcionamiento del servidor.
iftop:

Yum -y instalar iftop

Dos administradores de tareas interesantes:

Yum -y install htop yum -y install encima

Estoy acostumbrado a trabajar con Midnight Commander, estoy bastante satisfecho tanto con la facilidad de navegación a través del sistema de archivos como con el editor integrado de mcedit.

Yum -y instalar mc

Esta es la base configurar CentOS 7 después de la instalación terminado.

Instalación y configuración del servidor web en CentOS 7

Instalación y configuración del servidor web en CentOS 7

Instalación de MySQL

en CentOS 7, en lugar de MySQL, se usa una copia gratuita llamada MariaDB,

Primero, instalaremos el servidor MariaDB para esto, en la línea de comando, debe ejecutar:

# yum -y instalar mariadb-server mariadb

Después de la instalación, agregue el servidor MariaDB a la ejecución automática:

# systemctl start mariadb.service

# systemctl enable mariadb.service

Instalación de Apache

Para instalar el servidor web Apache, debe ejecutar el comando:

# yum -y instala httpd

Después de la instalación, agregue Servidor Apache para ejecutar automáticamente:

# systemctl iniciar httpd.service

# systemctl habilitar httpd.service

CentOS 7 usa un firewall Cortafuegos-cmd... Agregue una configuración que permita conexiones en el puerto 80 (http) y el puerto 443 (https)

# firewall-cmd —permanent —zone = public —add-service = http

# firewall-cmd —permanent —zone = public —add-service = https

# firewall-cmd —recargar

Después, abra http: // ip-address en el navegador y la página estándar del servidor web Apache se mostrará en la pantalla.

De forma predeterminada, en el servidor web Apache, el directorio raíz de los sitios (raíz del documento) se encuentra en el directorio / var / www / html

El archivo de configuración (archivo de configuración) del servidor web Apache se encuentra en el archivo /etc/httpd/conf/httpd.conf

Adicional archivos de configuración ubicado en el directorio: /etc/httpd/conf.d/

Instalar PHP

Para instalar PHP, debe ejecutar el comando:

# yum -y instalar php

Después de la instalación, debe reiniciar el servidor web apache:

Para comprobar Trabajo PHP en el directorio raíz (raíz del documento) del servidor web apache / var / www / html, puede crear un archivo pi.php que contendrá la función phpinfo ()

(La función phpinfo () muestra muchos información útil sobre el servidor web y la configuración de PHP).

Para hacer esto, necesita ejecutar el comando:

# eco "»> /Var/www/html/pi.php

Después de eso, puede abrir la página en el navegador:

http: //ip-address/pi.php

Esta página muestra todos Información necesaria sobre el servidor web Apache y la configuración de PHP

Configurar el soporte de MySQL en PHP

Para admitir MariaDB en PHP, debe instalar el paquete php-mysql... También puede instalar algunos otros paquetes para trabajar con PHP con varios módulos que pueda necesitar. Para hacer esto, ejecute el comando:

# yum -y instalar php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

# systemctl reinicia httpd.service

Ahora puede volver a abrir la página http: //ip-address/pi.php y ver la nueva información.

Instalar phpMyAdmin

phpMyAdmin es un programa que proporciona una interfaz web a través de la cual puede administrar bases de datos MySQL y MariaDB

Para instalar, debe inicializar el repositorio EPEL, ya que phpMyAdmin no está disponible en el repositorio oficial de CentOS 7.

# yum -y instalar epel-release

Después de agregar el repositorio, es posible instalar phpMyAdmin:

# yum -y instalar phpmyadmin

Después de la instalación, phpMyAdmin estará disponible en: http: // ip-address / phpmyadmin /

Instalación de WordPress

Primero, creemos un directorio temporal donde cargaremos la última versión de WordPress:

# mkdir temp

# cd temp

# yum install wget descomprime net-tools

# wget http://wordpress.org/latest.zip

# yum -y instalar php-gd

# systemctl reinicia httpd.service

Descomprima el archivo zip de WordPress en la carpeta:

# descomprimir -q latest.zip -d / var / www / html /

Ahora démosle al directorio los permisos apropiados:

# chown -R apache: apache / var / www / html / wordpress

# chmod -R 755 / var / www / html / wordpress

# mkdir -p / var / www / html / wordpress / wp-content / uploads

Ahora debe permitir que el servidor web escriba en este directorio. Esto se puede hacer haciendo que el grupo apache sea el propietario. Esto permitirá que el servidor cree archivos y otros directorios dentro del directorio original, para que podamos subir contenido al servidor en el futuro usando Motor de WordPress(sin FTP). Introduzca la siguiente:

# chown -R: apache / var / www / html / wordpress / wp-content / uploads

Luego necesitamos verificar el archivo de configuración, para esto necesitamos copiarlo (el archivo de ejemplo estándar se toma como base). El archivo de configuración de prueba se encuentra en / var / www / html / wordpress:

# cd / var / www / html / wordpress /

# cp wp-config-sample.php wp-config.php

# mcedit wp-config.php

Cambie los valores por los que creó cuando inicializó las bases de datos.

Ahora pasemos a nuestro sitio a través de la interfaz web, para ello vamos a la dirección: http: //ip-address/wordpress/wp-admin/install.php:

Primero seleccione su idioma y haga clic en Continuar:

Título del sitio = Correo electrónico del administrador del sitio de pruebas de WordPress = [correo electrónico protegido] Nombre de usuario = admin Contraseña de administrador = contraseña de prueba Confirmar contraseña de administrador = contraseña de prueba

Los valores pueden diferir, puede establecer los valores que desee. Después de eso, haga clic en Instalar WordPress:

Debe proporcionar el par de nombre de usuario / contraseña que elegimos al instalar WordPress.

CentOS es una distribución gratuita basada en código fuente Red Hat Enterprise Linux, de hecho, se crea a partir de estas fuentes con poca o ninguna modificación, los desarrolladores solo recortaron toda la marca de Red Hat. Pero a diferencia de Red Hat, CentOS es completamente gratuito y recibe actualizaciones periódicas poco después de su lanzamiento para Red Hat, ya que también se crean desde la fuente.

CentOS se utiliza a menudo como sistema operativo para servidores. En uno de los artículos anteriores, vimos cómo se hace. Hoy veremos cómo configurar un servidor CentOS 7 después de la instalación. Cubriremos todos los parámetros básicos que deberá cambiar para que su servidor esté listo para su uso.

1. Configuración de una dirección IP estática

Lo primero que debe hacer es configurar su red. Sobre Computadoras personales Se utiliza la obtención de una dirección IP vía DHCP, y la computadora tendrá una dirección diferente cada vez que se inicie, el servidor debe trabajar siempre en la misma dirección, por lo que le asignamos una IP estática. También necesita configurar DNS y puerta de enlace predeterminada. Pero primero instale la utilidad net-tools:

yum instalar herramientas de red

Primero, veamos las interfaces de red disponibles y la dirección IP actual:

Ahora puede ir a configurar la interfaz a través del archivo / etc / sysconfig / network-scripts / ifcfg-enp0s3, por ejemplo, usando el editor vi:

vi / etc / sysconfig / network-scripts / ifcfg-enp0s3

Ipaddr = your_ip
GATEWAY = gateway_for_network_access
DNS1 = Dirección_IP_DNS1
DNS2 = DNS_IP_address

Después de realizar cambios, este archivo se verá así:

Luego quedará reiniciar la red para aplicar la nueva configuración:

reinicio de la red de servicio

Luego, si es necesario, puede cambiar la dirección IP de la misma manera.

2. Nombre de la computadora

Lo siguiente que debemos hacer es cambiar el nombre de la computadora. El nombre de la computadora actual se almacena en la variable HOSTNAME:

Para cambiarlo, debe editar el archivo / etc / hostname y reemplazar el nombre antiguo por el nuevo.

vi / etc / nombre de host

Alternativamente, puede usar el comando hostnamectl:

hostnamectl set-hostname "nombre de host"

3. Actualización de CentOS

Después de la instalación, es habitual actualizar el software a la versión más reciente para instalar todas las actualizaciones de seguridad. Para actualizar la lista de paquetes en los repositorios e instalar nuevas versiones, ejecute el siguiente comando:

actualización de yum && actualización de yum

4. Instale el navegador

En muchos casos, debe usar CentOS desde la línea de comandos sin una interfaz gráfica, por lo que es posible que necesite un navegador para encontrar algo en Internet o verificar la funcionalidad de los sitios desde la línea de comandos. Para instalar el navegador de enlaces, escriba:

enlaces de instalación de yum

Puede encontrar otros navegadores de consola para Linux, como Lynx o Elinks.

5. Configuración de la zona horaria

La configuración correcta de la zona horaria es muy importante para el servidor. Esto eliminará la confusión en los registros y permitirá que sus aplicaciones se muestren fecha correcta y tiempo. La utilidad timedatectl se utiliza para la configuración.

Primero, obtenga una lista de zonas horarias:

timedatectl list-timezones

Luego instale el que desee, por ejemplo, Europa / Kiev:

timedatectl set-timezone Europe / Kyiv

Entonces revisa:

7. Configuración de la configuración regional

La configuración regional determina el idioma y la codificación que se utilizará en su sistema, por ejemplo, para habilitar el idioma ruso, establezca el valor ru_RU.UTF-8

localectl set-locale LANG = ru_RU.UTF-8

Luego vemos lo que pasó:

Luego configuramos la distribución del teclado:

localectl set-keymap us

8. Deshabilitar SELinux

El conjunto de políticas de SELinux está diseñado para controlar el acceso a los archivos en un sistema Linux, pero si no tiene la intención de utilizarlos, esta función puede desactivarse. Para hacer esto, ejecute:

sed -i "s / (^ SELINUX =). * / SELINUX = desactivado /" / etc / selinux / config

Luego reinicie su computadora y verifique si la función estaba realmente deshabilitada:

9. Crea un usuario

Usar el sistema en nombre del superusuario no es seguro y aún más peligroso dejarlo acceso abierto a la cuenta raíz a través de ssh. Primero, cree un usuario normal y establezca una contraseña para él:

nombre de usuario useradd
# contraseña contraseña

Luego agregue el usuario al grupo de rueda para permitir que el usuario se ejecute como administrador:

usermod -G rueda de usuario

Ahora queda ajustar la configuración de sudo, para esto agregue la siguiente línea, si aún no está allí:

% rueda TODOS = (TODOS) TODOS

10. Habilite repositorios de terceros

Agregar repositorios de terceros a un servidor de producción no es una buena idea y puede tener malas consecuencias en algunos casos. Sin embargo, a veces es posible que necesite programas que no se encuentran en los repositorios oficiales. Así que veamos cómo agregar varios repositorios.

Para agregar Enterprise Linux Repository (EPEL), ejecute:

yum instalar epel-release
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

10. Configuración de SSH

La mayoría de las veces, tenemos que trabajar con servidores no directamente, sino a través de la red, a través de SSH. Por lo general, el servicio SSH ya está instalado y activado, pero necesita algunos ajustes para que funcione correctamente. Primero debe configurar el uso de solo protocolo seguro Para hacer esto, abra el archivo / etc / ssh / ssh_config y elimine la línea Protocol 2,1. Y en su lugar agregue:

También debe deshabilitar el inicio de sesión como superusuario:

PermitRootLogin no

11. Instale el servidor web Apache

Si planea usar la máquina como servidor web, necesitará Apache. Con él puede alojar sitios web, contenido multimedia, programas de cliente y mucho más. Para instalar, ejecute:

yum instalar httpd

Cuando se complete la instalación, antes de que pueda comenzar a trabajar, debe habilitar HTTP en el firewall:

firewall-cmd --add-service = http
# firewall-cmd -permanent -add-port = 3221 / tcp
# firewall-cmd --reload

Ahora queda agregar Apache para autocargar:

systemctl iniciar httpd.service
# systemctl habilitar httpd.service

12. Instalar PHP

PHP es una aplicación web moderna y un lenguaje de programación. A menudo se utiliza como lenguaje de programación de propósito general. Para instalar, ejecute:

Después de la instalación, debe reiniciar Apache:

echo -e ""> /var/www/html/phpinfo.php

Luego abra el archivo generado en un navegador:

enlaces http://127.0.0.1/phpinfo.php

13. Instalación de la base de datos

MariaDB es una base de datos basada en código fuente MySQL. Distribuciones de Linux Los sistemas basados ​​en Red Hat utilizan MariaDB en lugar de MySQL. Las bases de datos son indispensables en un servidor, por lo que la configuración de CentOS posterior a la instalación debe incluir su instalación. Para Instalaciones MariaDB escribe:

yum instalar mariadb-server mariadb

Luego ejecute y agregue a la carga automática:

systemctl start mariadb.service
# systemctl enable mariadb.service

Y permite usar el servicio en el firewall:

firewall-cmd --add-service = mysql

Queda por ejecutar el script de configuración:

/ usr / bin / mysql_secure_installation

14. Instale GCC

GCC son las siglas de GNU Compiler Collection, una colección de compiladores que se consideran el estándar para crear programas en Linux. Pero no viene con CentOS por defecto, así que para instalarlo, escriba:

Entonces puedes mirar la versión GCC:

15. Instale Java

Java es un lenguaje de programación orientado a objetivos de propósito general. No está instalado de forma predeterminada, por lo que la configuración de CentOS 7 después de la instalación también puede incluir su instalación. Para hacer esto, ejecute:

yum instalar java

Luego verifique la versión:

conclusiones

En este artículo, analizamos cómo configurar el servidor CentOS 7 después de la instalación. Como puede ver, hay muchos pasos elementales que debe seguir antes de usar el servidor en producción. Si tienes alguna duda, ¡pregunta en los comentarios!



¿Te gustó el artículo? Compártelo