GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuánto debo aprender de Linux para implementar sitios web usando LAMP?

Fuera de mi cabeza necesitarás:

  1. Obtenga información sobre el sistema de archivos.
  2. Aprenda cómo iniciar/detener los procesos (servicios) que está utilizando.
  3. Encuentre o aprenda un editor de texto básico (Vim, JOE o Pico)
  4. Aprenda a verificar los procesos para ver si las cosas se están ejecutando (ps, top)
  5. Si está realizando el mantenimiento del servidor, deberá aprender a instalar paquetes.

Estos son solo los conceptos básicos. El siguiente paso es darse cuenta cuando tiene un problema y saber a dónde puede acudir para obtener más información al respecto. Incluso con todo esto, solo está arañando la superficie y muchas cosas pueden no tener sentido. Sin embargo, es un buen comienzo.


El 80% de tus problemas serán los permisos. Windows los hace de manera diferente; si inicia sesión como root (o con privilegios similares a los de root), puede omitir los permisos. Apache no puede y no lo hará.

  • Aprenda a establecer correctamente la propiedad de archivos y directorios. Cualquier libro de Unix cubrirá esto:asegúrese de entenderlo realmente, no es la seguridad de Windows escrita de manera diferente, es un modelo diferente para la seguridad.

De los problemas restantes, el 80% serán problemas de PATH. PHP no tiene un problema de RUTA tan grande como Java y Python, pero todos usan una configuración de RUTA para encontrar componentes y bibliotecas. Te equivocarás con regularidad. Windows tiene una RUTA, pero también tiene un registro, lo que hace que las cosas sean súper fáciles o súper secretas. Unix no guarda secretos.

  • Aprenda qué variables de entorno usan PHP y MySQL. Asegúrese de saber dónde y cómo se establecen. Apache se ejecuta en su propio entorno peculiar y tiene comandos para proporcionar la configuración del entorno de tiempo de ejecución a través de mod_php . Escribe echo $PATH corto shell scripts para revelar lo que está pasando.

De los problemas restantes, el 80% estará relacionado con la base de datos. Después de ordenar los permisos de la base de datos, aún tendrá que conectarse, y las cosas de "tubería con nombre" frente a "host local" estarán mal de maneras oscuras y confusas. MySQL es muy indulgente, pero cometerá algunos errores aquí.

  • Pruebe cada conexión alternativa, sepa cómo funcionan. No elija uno porque es similar a Windows o "más simple". En realidad ejercitar cada uno. También es importante cómo pasa los nombres de usuario y las contraseñas de la aplicación web al servidor de la base de datos. Apache se ejecuta como "nadie", y no desea darles acceso predeterminado a nada. Su aplicación debe establecer una conexión intencional con la base de datos sin utilizar los valores predeterminados.

De los problemas restantes, el 80% serán configuraciones de Apache. Apache es realmente simple, pero tiene un millón de opciones. Hay cuatro formas de hacer todo, y siempre probarás dos que no funcionan en absoluto y te conformarás con la tercera que será asquerosa. El cuarto, que es mucho más simple, nunca se te ocurrirá.

  • Lea MUCHO sobre la configuración de Apache. El sitio httpd.apache.org tiene mucha información. Esfuércese por la simplicidad. Copie los ejemplos existentes y utilícelos. No invente requisitos o implementaciones deseadas según la experiencia de IIS o la experiencia de escritorio de Windows. Copie algo que funcione.

De los problemas restantes, el 80% será el uso de aplicaciones del sistema de archivos. Si intenta abrir, leer o escribir archivos locales, encontrará que (a) los permisos no son correctos en el directorio que está tratando de usar [ver arriba] y (b) las rutas de archivo de Unix son diferentes. No muy diferente, pero lo suficiente como para que algo se rompa de forma oscura.

  • Cada libro de programación en Unix/Linux cubre esto. No es muy diferente de Windows, solo lo suficientemente diferente como para hacerte tropezar la primera vez. Escriba páginas PHP similares a "hola mundo" para aumentar la versión más simple posible de cargas o descargas solo para asegurarse de que tiene todas las piezas en su lugar. Luego corrija su aplicación completa para hacerlo correctamente.

De los problemas restantes, el 80% será la creación de subprocesos. Windows hace esto de manera diferente. Una de las cosas más importantes en Unix es recordar que su subproceso es su hijo y debe esperar a que termine para que el sistema operativo pueda limpiar. Si piensa en un subproceso como algo paralelo de "disparar y olvidar", tendrá procesos zombis y se verá obligado a realizar reinicios periódicos.

  • Escriba páginas PHP muy simples para aumentar la administración de subprocesos. La regla de oro es cuidar a sus hijos y limpiar después de ellos. Luego corrija su aplicación completa para hacerlo correctamente.

Los problemas restantes serán la lógica de la aplicación trivial, pero debido a las diferencias de plataforma, culpará a Unix antes de localizar el error en la aplicación PHP.

  • Obtenga sus pruebas unitarias y su registro para que pueda depurar de manera efectiva.

Linux
  1. Cómo depurar programas C en Linux usando gdb

  2. Cómo crear un usuario de Linux usando Ansible

  3. Cómo reiniciar Linux usando la línea de comandos

  4. Kali Linux en Android usando Linux Deploy

  5. Cómo aprender las partes internas del sistema Linux

¿Cuánto intercambio debería usar en Linux?

Cómo cambiar el nombre de los archivos usando la línea de comandos en Linux

Cómo descargar e instalar XAMPP en Linux

Cómo enumerar los sistemas de archivos en Linux usando Lfs

Cómo instalar el navegador web Falkon en Ubuntu Linux

Cómo instalar o actualizar LAMP:Linux, Apache, MySQL y PHP Stack usando Yum