Neste artigo, darémosche instrucións paso a paso sobre como configurar o ambiente web nun servidor con Linux. Primeiro de todo, debes entender que un servidor web típico consta de algúns compoñentes interactivos:
- Servidor HTTP
- intérprete de linguaxe de programación
- Sistema de xestión de bases de datos (DBMS)
Para xestionar o seu sitio web tamén terá que configurar un sistema de xestión de contidos (CMS), unha interface web para a xestión de bases de datos e acceso FTP.
Consideremos a configuración dunha configuración moi popular Apache-PHP-MySQL (MariaDB) en Linux. Tamén instalaremos o servidor ftp vsftpd, phpMyAdmin - unha interface web para a xestión de bases de datos e un sistema de xestión de contidos WordPress.
Para comezar por favor pedir servidor VPS or servidor dedicado. Por exemplo, usamos un servidor virtual con enderezo IP estático que executa Ubuntu Server 18.04. Todos os comandos foron executados polo usuario root.
Configuración do servidor HTTP Apache
1. instalación
apt install apache2
Cando remate a instalación, abra un navegador e comprobe "http://[enderezo_ip_servidor]"
Se ves unha páxina de benvida como esta na captura de pantalla anterior, isto significa que o teu servidor HTTP está a funcionar.
2. Crea unha páxina de proba
O directorio raíz predeterminado para o sitio web é "/var/www/html". Aquí podes atopar a páxina de benvida que acabas de ver. Imos crear un directorio separado "/var/www/sites" para hosts virtuais e un subcartafol "/var/www/sites/site1" coa páxina de índice do seu sitio web de proba.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
No resultado o ficheiro "/var/www/sites/site1/index.html" debe conter só unha liña de código html:
<H1>Welcome</H1>
3. Configuración do servidor Apache
Os ficheiros de configuración dos sitios web están en "/etc/apache2/sites-available/" catálogo. Imos crear un ficheiro de configuración para un novo host virtual tomando a configuración predeterminada do ficheiro "000-default.conf" como base.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Abra o ficheiro "site1.conf" e cambia o "DocumentRoot" atributo. Pon a ruta do teu sitio web como valor, así no noso caso é "/var/www/sites/site1"
Nesta fase non necesitamos configurar o funcionamento simultáneo de varios sitios web, polo que podemos desactivar o sitio web predeterminado e activar o novo sitio. Volve cargar a configuración do servidor para aplicar os cambios.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Abra a ligazón "http://[enderezo_ip do servidor]" de novo e asegúrese de que en lugar da páxina de benvida predeterminada temos a nosa nova páxina.
Rematamos a configuración do noso servidor HTTP e podemos pasar ao seguinte paso.
Configuración do servidor FTP
1. instalación
Imos instalar o noso servidor ftp e un paquete adicional "db-util", que necesitaremos configurar usuarios virtuais
apt install vsftpd db-util
2. Crear unha conta local
O servidor vsftpd permítenos configurar os permisos de acceso dunha forma moi flexible. Para as nosas tarefas, necesitamos proporcionar aos usuarios de ftp o seguinte:
- acceso total aos contidos de “/var/www/sites/”;
- desactiva todo o que está arriba “/var/www/”;
- conexión cunha conta virtual;
Crea unha conta local "virtual" sen permiso de inicio de sesión pero con acceso ao cartafol de inicio “/var/www/”. Esta conta será usada polos usuarios de ftp para conectarse ao servidor
useradd -d /var/www virtual
"Raíz" será o propietario do "/var/www" cartafol por defecto. Para que os usuarios de ftp poidan modificar o contido dos sitios web, cambiemos o propietario de “/var/www/sites/” incluíndo subcartafoles de "virtual".
chown -R virtual:root /var/www/sites
Como resultado, o usuario "virtual" poderá ver o contido de “/var/www/” e escribe no “/var/www/sites/” subcarpeta.
3. configuración
A configuración principal está no ficheiro "/etc/vsftpd.conf", así que imos abrilo e editámolo do seguinte xeito:
#enable virtual users
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#configure permission
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#launch settings
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. Crea a base de datos
Necesitará unha base de datos para almacenar os datos das contas virtuais.
En primeiro lugar, imos crear un ficheiro de texto sinxelo "usuarios.txt" no cartafol de inicio e garda os detalles de acceso (inicio de sesión e contrasinal) dos usuarios virtuais en todas as outras liñas. Por exemplo, necesitaremos un usuario virtual co inicio de sesión "ftp" e contrasinal "Qwe123". Entón o ficheiro terá o seguinte aspecto:
ftp
Qwe123
Imos crear a base de datos
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Imos modificar o ficheiro PAM predeterminado "/etc/pam.d/vsftp" como segue:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
Teña en conta que o camiño do "pam_userdb.so" A biblioteca pode ser diferente, pero podes cambiala se é necesario.
Volve cargar o servidor vsftpd para aplicar os cambios.
systemctl restart vsftpd
Rematamos a configuración do servidor FTP.
Detalles da conexión:
- ftp://[enderezo_ip_servidor]
- inicio de sesión: ftp
- contrasinal: Qwe123
Configuración do servidor PHP
1. Instalación de PHP
Hoxe a última versión estable de PHP é php 7.4.5 que non está incluído nos repositorios oficiais de Ubuntu. Conectemos un repositorio de terceiros e instalemos a última versión de PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Comprobe
Para que PHP se execute, o ficheiro de páxina web debería ter ".php" extensión. Cambiamos o nome da nosa páxina de proba:
cd /var/www/sites/site1/
mv index.html index.php
Engade a seguinte liña php ao ficheiro "/var/www/sites/site1/index.php", polo que o ficheiro debería verse así:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Garda os cambios e comproba o resultado no navegador.
Se ves o resultado da función "phpinfo()", o intérprete PHP funciona correctamente. Agora imos pasar ao seguinte paso.
Configuración de MySQL (MariaDB).
1. instalación
Instalemos MariaDB e un módulo PHP para MySQL e despois recarguemos Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
Actualiza a páxina de proba e vai á sección PDO na táboa de configuración de PHP. Se podes atopar a sección "PDO_mysql", entón significa que o controlador para Mysql está instalado correctamente.
A continuación, teremos que facer a configuración de seguranza inicial de MariaDB e establecer o contrasinal para o "Raíz" usuario, desactive o acceso remoto e elimine todas as contas de convidados.
mysql_secure_installation
No primeiro paso, temos que entrar no "raíz" contrasinal do usuario para acceder ao DBMS ou prema Intro se non hai contrasinal. Xa que non hai contrasinal definido para o "raíz" usuario despois da instalación, simplemente prema "Entrar".
Teña en conta que en MariaDB xa hai contas propias que non teñen nada que ver coas contas do SO. Polo tanto, o único usuario co que tratamos en MariaDB é "raíz".
Despois diso, o configurador pediranos que establezamos o contrasinal para o usuario root. Tipo "Y" para confirmar e introducir o novo contrasinal. No noso caso, é "Qwe123"
responder "Y" a todas as demais preguntas ata o final.
A configuración está feita!
Detalles de acceso a MariaDB:
- Inicio de sesión: root
- Contrasinal: Qwe123
Configuración de phpMyAdmin
1. instalación
Imos instalar a extensión necesaria para PHP - mbstring.
apt install php-mbstring
No repositorio oficial só hai unha versión desactualizada de phpMyAdmin, así que imos instalar a nova manualmente.
Abre o sitio web oficial do proxecto "https://www.phpmyadmin.net/” e descarga o arquivo máis recente.
Copia o arquivo no servidor no ficheiro “/var/www/sites/” cartafol usando calquera cliente ftp.
Desarquiva o cartafol e renomea a "phpMyAdmin". Non esquezas instalar o "descomprimir" utilidade. Podes eliminar o arquivo despois de desarquilo.
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
Crea o seguinte cartafol "/var/www/sites/phpMyAdmin/tmp" para ficheiros temporais e permitir o acceso para todos. Se non o fas, phpMyAdmin informará de que o acceso foi denegado ao cartafol temporal.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Crea un alias
Xa que phpMyAdmin non é un host virtual separado e está situado fóra do directorio raíz, configuremos o alias.
Abra o ficheiro "/etc/apache2/mods-available/alias.conf" e engade esta liña:
Alias /pma “/var/www/sites/phpMyAdmin"
dentro desta sección:
<IfModule alias_module>
</IfModule>
Recarga Apache para aplicar os cambios.
systemctl reload apache2
O alias está definido, polo que podemos acceder a phpMyAdmin aquí "http://[enderezo_ip_servidor]/pma".
3. Prepare a base de datos
Dado que restrinximos o uso do usuario root durante a configuración inicial de MariaDB, teremos que crear unha nova conta con todos os permisos que se utilizarán para acceder a phpMyAdmin.
Ademais, para activar funcións adicionais de phpMyAdmin necesitaremos unha base de datos de servizos e unha conta para acceder a ela.
Imos crear as contas
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
Teña en conta que o nome da base de datos na segunda solicitude aparece nas chispas traseiras "... ON `phpmyadmin`.* PARA 'pma'@'localhost' IDENTIFICADO POR...”,
Como resultado, haberá dúas contas creadas en MariaDB:
- Inicio de sesión: pma, contrasinal: Qwe123Acceso completo, empregarase para iniciar sesión en phpMyAdmin
- Inicio de sesión: pmaservice, Contrasinal: Qwe123A conta de servizo é necesaria para que funcionen funcións adicionais
No seguinte paso, estableceremos estes detalles no ficheiro de configuración "config.inc.php".
A continuación, teremos que importar a base de datos do ficheiro "phpMyAdmin/sql/create_tables.sql".
Importémolo coa axuda de phpMyAdmin.
Abra a ligazón "http://[enderezo_ip_servidor]/pma"
Introduza o inicio de sesión "pma" e contrasinal "Qwe123"
Ir a "Importar", Prema "Seleccionar ficheiro" e seleccione o ficheiro "sql/create_tables.sql" no directorio raíz de phpMyAdmin. Suponse que debe haber o cartafol no teu PC "phpMyAdmin" con arquivos. Desarquivao se é necesario.
prema "Seguinte" para comezar a importar.
4. configuración
Imos copiar o ficheiro de configuración do modelo
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Imos abrir o ficheiro de configuración "/var/www/sites/phpMyAdmin/config.inc.php" e fai os seguintes cambios:
Establece un valor aleatorio de 32 caracteres para o atributo "$cfg['blowfish_secret']". Use calquera xerador de contrasinais para iso.
Elimina os comentarios de todas as liñas do "Configuración de almacenamento de configuración de phpMyAdmin" sección e configure o inicio de sesión e o contrasinal da conta de servizo de MariaDB para o "controlador" "controlpass" atributos en consecuencia. No noso caso, é pmaservice Qwe123.
Garda os cambios.
Detalles de acceso para phpMyadmin:
- http://[server’s_ip_address]/pma/
- Inicio de sesión: pma
- Contrasinal: Qwe123
Como instalar e configurar WordPress nun servidor Linux
1. Paquete de WordPress e colocación de ficheiros
Vaia ao sitio web oficial de WP "https://ru.wordpress.org/” e descarga o arquivo no teu PC local.
Cargue o arquivo ao servidor no “/var/www/sites/” cartafol e desarquivalo no ficheiro "wordpress”Cartafol.
Copia o contido do “/var/www/sites/wordpress/” cartafol raíz do "/var/www/sites/site1/" web.
Xa que copiamos os ficheiros a través da consola con permisos de root, imos cambiar o propietario do “/var/www/sites/” cartafol incluíndo o contido de "virtual". Isto é necesario para habilitar o acceso total para a conexión ftp a través do cliente.
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. Crea unha base de datos para WordPress
Inicie sesión en phpMyAdmin e prema en "Crear base de datos". Especifique un nome de base de datos arbitrario, no noso caso "wordpress_db" e prema no botón "Crear".
Seleccione a nova base de datos na sección esquerda e prema "Privilexios"
A continuación, fai clic en "Engadir conta de usuario".
Introduza o login e o contrasinal (wpservice / Qwe123) na xanela aberta, comprobe "Concede todos os privilexios en wordpress_db" e prema "Seguinte"
Na páxina seguinte fai clic "Cancelar todo" para restablecer todos os privilexios no nivel de base de datos e prema "Seguinte".
3. Configuración de WordPress nun servidor Linux
Vaia ao directorio raíz do seu sitio web e copie o ficheiro de configuración do modelo
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Abra a "wp-config.php" e introduza os parámetros de conexión á base de datos que creamos no paso anterior e garde os cambios.
4. Instala CMS WordPress
Abre a seguinte ligazón no navegador "http://[enderezo_ip_servidor]/wp-admin/install.php".
Encha todos os campos e fai clic "Instalar WordPress". Establece un nome de usuario e un contrasinal aleatorios. No noso caso, é wpadmin Qwe123 en consecuencia.
Estes detalles serán utilizados para acceder a WordPress.
Despois de rematar a instalación, abra a ligazón "http://[enderezo_ip_servidor]/wp-login.php", introduza os detalles de acceso e inicie sesión en WordPress.
Deberías ver un dos modelos de WordPress na páxina principal.
A configuración está rematada.
Detalles de acceso a WordPress:
- http://[server’s_ip_address]/wp-login.php
- Inicio de sesión: wpadmin
- Contrasinal: Qwe123