Instalación de un servidor local en Windows
13:33, 16.08.2022
Para desplegar un entorno de trabajo, sin duda tendrá que instalar un servidor local en Windows- normalmente hay dos elementos en este paquete:
- GIT (sistema de control de versiones distribuido);
- servidor local (MySQL, Apache, mongodb, Memcached, nginx, PHP).
En nuestro caso, para mayor claridad, instalaremos PuTTY, GIT, Denwer (Apache, MySQL, PHP), Nginx , y Memcached y MongoDB uno por uno. Todo esto es necesario para un despliegue completo del servidor local.
Cómo instalar PuTTY
Este cliente nos da acceso remoto y seguro al proyecto a través de SSH o Telnet. Sólo tiene que ir a la página web oficial del desarrollador, descargar el instalador e instalarlo todo de forma estándar. No hay dificultades. La configuración la tiene que hacer Ud, porque no es el tema principal de este artículo.
Instalación de GIT
Una vez más, vaya al sitio web oficial de TortoiseGit, elija la versión apropiada, descárguela e instálela. Recomendamos TortoiseGit porque es más estable y fiable desde el punto de vista del desarrollo.
Denwer
El kit estándar de todo desarrollador web, que incluye el instalador, el servidor web, la base de datos MySQL, PHP, el sistema de gestión de alojamiento compartido y varios otros componentes importantes.
Para instalarlo, tendrá que descargar el paquete básico de Denwer, así como los módulos adicionales de PHP5. Es importante destacar aquí que tendrá que registrarte, y sólo entonces podrá obtener un enlace para descargar el software a su correo electrónico.
Memcached
Este sistema de almacenamiento en caché de objetos ya se ha descrito en detalle en otro artículo, por lo que no nos detendremos en él durante demasiado tiempo. Para instalarlo, es necesario descargar el archivo con los binarios, y luego descomprimirlo en el directorio \usr\local\memcached.
Para hacer que Memcached se ejecute con Denwer, tendrá que escribir un pequeño script con comandos de lanzamiento. Para ello, cree un archivo llamado memcached.pl en el directorio \denwer\scripts\init.d\, ábralo en modo de edición y escriba las siguientes líneas:
#!perl -w package Starters::Memcached; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = '/usr/local/memcached/'; chdir($basedir); StartManager::action $ARGV[0], start => sub { ### ### START. ### print "Starting memcached\n"; system("memcached.exe -d"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping memcached\n"; system("TASKKILL /F /IM memcached.exe"); print " Stopped!\n"; }; return 1 if caller;
Lo único que queda por hacer es crear un enlace a este script en tres directorios diferentes, para que cuando Denwer se inicie, se ejecute automáticamente init.d/memcached.pl. Para ello, escriba en un editor de texto:
init.d/memcached
Llama al archivo 40_memcached y guárdalo en tres carpetas diferentes:
- \denwer\scripts\main\start
- \denwer\scripts\main\stop
- \denwer\scripts\main\restart
A continuación, abra el script de texto index.php y añada tres líneas:
$memcache = new Memcache; $memcache->connect('127.0.0.1', 11211); echo ‘Memcache ver: ’ . $memcache->getVersion();
Compruebe que todo funciona como es debido reiniciando Denwer.
Configuración del servidor web Nginx
Cuando se instala un servidor local en Windows, no se puede prescindir de un servidor web - en nuestro caso es Nginx. Todo lo que tiene que hacer es ir a la web oficial del desarrollador, descargar la versión para Windows y descomprimir los archivos en el directorio \usr\local\nginx.
El siguiente paso es configurar un host virtual para su sitio de prueba. Abra el archivo \usr\local\nginx\conf\nginx.conf en modo de edición y añadir líneas:
server { listen 127.0.0.1:80; server_name www.test.local test.local; if ($host = 'test.local'){ rewrite ^/(.*)$ http://www.test.local$1 permanent; } location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ { root Z:\home\/test.local\www; } location / { ssi on; proxy_pass http://127.0.0.1:8080/; proxy_set_header X-REQUEST_URI $request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 60; proxy_send_timeout 90; proxy_read_timeout 90; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; root Z:\home\/test.local\www; } }
Naturalmente, todos los parámetros prescritos anteriormente deben adaptarse a su proyecto.
Cómo configurar Apache
La configuración por defecto de Apache es a menudo inadecuada - en particular, se recomienda cambiar la configuración del puerto 80. Ya sea por razones de seguridad o si otro servidor web como Nginx se está ejecutando en ese puerto. Por lo tanto, vaya a la configuración de Apache y cambie la plantilla del host virtual para asignarle otro puerto.
Abra en modo de edición \usr\local\apache\conf\httpd.conf y busque las siguientes líneas:
#Listen $&{ip:-127.0.0.1}:$&{port:-6080} #NameVirtualHost $&{ip:-127.0.0.1}:$&{port:-6080} #<VirtualHost $&{ip:-127.0.0.1}:$&{port:-6080}> # DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)/public_html^1" # DocumentRootMatch "/home/(?!cgi-)(.*)/public^1" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/var/www/html/(?!cgi-)~(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRoot "$&" # ServerName "%&/-www" # ServerAlias "%&/-www" "%&/-www/www" $&{host:-} # # $&{directives:-} # # ScriptAlias /cgi/ "$^1/cgi/" # ScriptAlias /cgi-bin/ "$^1/cgi-bin/" # AllowEncodedSlashes on #</VirtualHost>
Aquí puede especificar cualquier otro puerto conveniente en lugar del 6080.
Cómo configurar la ejecución automática de Denwer junto con Nginx
Vaya al directorio \denwer\scripts\init.d\, aquí tenemos que crear el archivo nginx.pl. Su contenido debería ser así:
#!perl -w package Starters::Nginx; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = '/usr/local/nginx/'; chdir($basedir); StartManager::action $ARGV[0], start => sub { ### ### START. ### print "Starting Nginx\n"; system("start nginx.exe"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping Nginx\n"; system("nginx.exe -s stop"); print " Stopped!\n"; }; return 1 if caller;
Guarde los cambios y siga adelante. Ahora abre un editor de texto, escribe "init.d/nginx" en él sin comillas y luego guárdalo con el nombre 50_memcached en tres directorios diferentes:
- \denwer\scripts\main\start
- \denwer\scripts\main\stop
- \denwer\scripts\main\restart
Para comprobar si los scripts están funcionando, reinicie Denwer - si el CSS está conectado, todo se hace correctamente.
Cómo configurar MongoDB
Este sistema orientado a los documentos se utiliza a menudo en los servidores locales por su clara estructura de objetos y sus avanzadas capacidades de consulta. Además, la base de datos es fácilmente escalable, lo que a veces ahorra mucho tiempo. Puede descargarse desde el sitio web oficial del desarrollador.
Antes de instalar MongoDB necesitas descargar el controlador de PHP - ve a github y encuentra el archivo php_mongo.dll. Después de descargarlo, ponlo en el directorio \usr\local\php5\ext. Puede conectar la extensión en el archivo php.ini añadiendo una línea:
extension=php_mongo.dll
Ahora vamos a proceder a la instalación - descargue el archivo con el instalador y descomprima su contenido en \usr\local\mongodb. Aquí creamos inmediatamente dos carpetas más llamadas db y logs.
El siguiente paso es instalar el servicio:
> cd C:\WebServers\usr\local\mongodb\bin\ > mongod.exe --install --dbpath=C:\WebServers\usr\local\mongodb\db\ --logpath=C:\WebServers\usr\local\mongodb\logs\
Queda por configurar la ejecución automática de MongoDB junto con Denwer. Para ello, vaya a \denwer\scripts\init.d\ y crear un archivo llamado mongod.pl aquí. Dentro ponemos un pequeño guión:
#!perl -w package Starters::mongoDB; BEGIN { unshift @INC, "../lib"; } use StartManager; StartManager::action $ARGV[0], start => sub { ### ### START. ### print "Starting mongoDB\n"; system("net start mongoDB"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping mongoDB\n"; system("net stop mongoDB"); print " Stopped!\n"; }; return 1 if caller;
Ahora, de la misma forma que los pasos anteriores, abre un editor de texto y escribe dentro:
init.d/mongod
Nombra el archivo "60_mongod" y guárdalo en tres directorios:
- \denwer\scripts\main\start
- \denwer\scripts\main\stop
- \denwer\scripts\main\restart
Después de eso, recomendamos visitar el sitio web oficial de los desarrolladores de MongoDB y elegir una interfaz de administración que se adapte a sus necesidades; cada persona tiene diferentes gustos en cuanto a interfaces, así que no hay una recomendación universal.
Por último, añadiremos que puedes utilizar KiTTY en lugar de PuTTY, y que Denwer puede ser sustituido por el framework Open Server - también es un framework orientado al desarrollo web que funciona bien en Windows. Esperamos que nuestro material le haya ayudado a entender cómo configurar un servidor local en Windows y prepararlo para ejecutar su proyecto. Gracias por su atención.