Desplegament d'aplicacions web
Continguts per l'assignatura de DAW M8 Desplegament d'aplicacions web.
Per seguir el curs és interessant (si no imprescindible) utiltizar un servidor públic. És molt convenient fer-nos un compte de AWS: Amazon Web Services amb el que podem gaudir d'un any de servidor gratuïtament.
Contingut
UF1: Servidors web i de transferència de fitxers
Introducció:
- Comandes Linux per xarxes. Aquí podeu trobar l'arxiu que cal esborrar per "oblidar" les @MAC dels Ubuntu Servers.
- Encriptació (teoria): Seguretat i connexió remota. Xifratge i sistemes de clau compartida i de clau pública/privada.
- Exercici SSH: la base per treballar amb servidors remots.
- Potser necessites això: Comandes Linux per xarxes.
- AWS: Amazon Web Services: configura el teu VPS (Virtual Private Server)
- Model OSI de protocols de comunicació (wikipedia)
Servidor web Apache:
- Apache2 en GNU/Linux. Configura diversos dominis en una màquina (virtual hosts).
- Autenticació Apache
- Protocols segurs:
- Apache i DNIe. Ens caldrà habilitar el servidor HTTPS i crear els certificats.
Servidors de transferència de fitxers (FTP):
- Practica VSFTPD: Very Secure FTP Daemon en GNU/Linux
- Practica PROFTPD: un altre servidor per GNU/Linux
Altres servidors web:
- IIS amb PHP. Habilitarem el servidor web IIS (Internet Information Services) en Windows 2008 Server i habilitarem el PHP.
- FTP en Windows 2008:
- Ingerat en IIS
- Filezilla Server
UF2: Servidors d'aplicacions web
Els servidors d'aplicacions, juntament amb els frameworks ens permeten separar el codi de l'administració de la infraestructura i la seva escalabilitat (administració, servidors, instàncies, BBDD, usuaris, permisos, etc.).
El model PaaS (Platform as a Service) o SaaS (Software as a Service) és el concepte clau que ens interessa en aquesta unitat formativa. La idea és desenvolupar l'aplicació i fer el desplegament sense haver de mantenir la infraestructura necessària típica (servidor web, base de dades, etc.). El proveidor del PaaS ens proporciona eines per desenvolupar el software (normalment amb algun framework) i, sobretot, per desplegar-la sobre la seva infraestructura.
Pels programadors (particularment al treballar en web) és un model molt interessant per alliberar-nos de la feina de manteniment del sistema.
Si treballem amb PHP:
Si treballem amb Python:
- WSGI: especificació per enllaçar aplicacions al nostre servidor web. O sigui, com lligar Apache i aplicacions web en Python
- Desplegament de Django. En aquest article trobareu com desplegar aplicacions Django.
Altres servidors d'aplicacions
No tenim temps per cobrir la quantitat de diferents servidor d'aplicacions. Altres opcions interessants:
- Google App Engine (GAE):
- Zope: servidor d'aplicacions per Python
- Plone: CMS basat en Python, Zope i ZODB
- Apache Tomcat: servidor d'apps. Java per Apache
- Pàgina oficial: http://tomcat.apache.org/
- Tutorial Tomcat+Eclipse+Servlets: http://www.coreservlets.com/Apache-Tomcat-Tutorial/
- Tutorial (obsolet): http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/
UF3: Desplegament d'aplicacions web
- DNS
- Root name servers: les arrels del sistema DNS mundial.
- DNS Linux en producció
- Integració d'aplicacions web amb serveis de directori
- Autenticació en directoris: LDAP
UF4: Control de versions i documentació
Control de versions:
- Control de versions (article de teoria)
- Git: comandes
- SVN: Subversion. No el veurem en aquest curs, s'està deixant d'utilitzar ja que el Git és més modern i avantatjós.
- CVS: ídem
Testing web services:
Documentació:
- Sphinx:
- Pàgina oficial: http://sphinx.pocoo.org/
- Tutorial per un primer projecte: http://codeandchaos.wordpress.com/2012/07/30/sphinx-autodoc-tutorial-for-dummies/
- Pyramid: documentant amb Sphinx
- Doxygen
- Mercurial
- Wiki (mediawiki/trac)