Configurar un alias para una carpeta en Apache
- Abrimos el fichero httpd.conf
- Nos aseguramos que no esté comentado el módulo alias:
LoadModule alias_module modules/mod_alias.so
- Buscamos: <IfModule alias_module>
Y añadimos lo siguiente:
# ==============================================================
# Bloque editado el 07-02-2018
# Creando un Alias para la carpeta «carpetawp» del USB (raiz).
Alias /carpetawp «\carpetawp»
<Directory «\carpetawp»>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
# ==============================================================
Así conseguimos que nos funcione:
aunque carpetawp no esté dentro del directorio htdocs
554 5.7.1 Service unavailable; Client host [x.x.x.x] blocked using relays.ordb.org
Nos surgió el problema que no recibíamos correo electrónico desde servidores exteriores, sí entre cuentas del propio servidor, y también podíamos enviar correos. Es decir, los pop3 y smtp estaban funcionando, pero por algún motivo no recibimos correo del exterior.
Entonces comprobamos cómo un correo externo hacia nosotros es devuelto y en el típico Delivery Status Notification (Failure) nos encontramos el mensaje:
554 5.7.1 Service unavailable; Client host [x.x.x.x] blocked using relays.ordb.org
Esto es debido a que en la configuración de Postfix (muy desactualizada para el spam) teníamos una línea con el siguiente texto:
maps_rbl_domains = relays.ordb.org list.dsbl.org blackholes.mail-abuse.org …
¿Cuál es el problema?
Parece ser que relays.ordb.org lleva desde finales de 2006 sin prestar servicio. Aquello lista de servidores ha estado funcionando hasta agosto de 2016, pero ahora, han dejado todos de prestar servicio.
Esto ha provocado que el servidor rechace todo el correo externo.
Solución:
Vamos a poner otros maps_rbl_domains, por ejemplo, rbl.maps.vix.com
Parece que ya vuelve todo a la normalidad y comenzamos a recibir correo de nuevo. A ver cuánto spam entra. Según veamos lo que va entrando, podemos ir actualizando la lista de dominios.
Problema con phpMyAdmin, mbstring extension y Ubuntu 16.04
Supongo que esto dentro de poco tiempo no servirá para nada porque habrán arreglado la instalación de PHP7. Pero en mayo de 2016 ha estado curioso dejar el servidor fino.
Vale, he actualizado Ubuntu a 16.04, además de pasarme a php7 sobre Apache. La cantidad de problemas que estoy encontrando está siendo interesante.
El último ha sido con la configuración de phpmyadmin (en este caso es sobre MariaDB, pero vamos, que sobre MySQL creo que pasa lo mismo).
Instalo mi paquete de phpmyadmin y no funciona, a pesar de reiniciar el servicio. Lo que sucede es que no se ha cargado la configuración de phpmyadmin en apache. Para ello:
sudo nano /etc/apache2/apache2.conf
y dentro incluimos:
Include /etc/phpmyadmin/apache.conf
Tras instalarlo y acceder a http://localhost/phpmyadmin te encuentras el siguiente error:
The mbstring extension is missing. Please check your PHP configuration.
La solución es:
sudo apt-get install php-mbstring php7.0-mbstring php-gettext
sudo service apache2 restart
Me estoy encontrando en muchos casos que el php7 no va NADA FINO y tienes que reinstalar paquetes o instalar algunos que normalmente tienes instalados, véase el php-curl.
Además, el apt-get install php7 me ha estado fallando por culpa del paquete php-fpm. Lo he solucionado descargando los fuentes de PHP e instalando a la vieja usanza, con sus configures, sus makes y sus cosas.
Es lo que pasa por pasarte a una versión «estable» antes de la cuenta.
Instalando Opentripplaner en Ubuntu
Suponemos un Ubuntu 14 Server con Apache instalado y funcionando.
- Primero hay que instalar el Tomcat y el JDK:
sudo apt-get install tomcat7
sudo apt-get install default-jdk
- Editamos el archivo de configuración del bash:
sudo nano ~/.bashrc
- Añadimos al final:
export JAVA_HOME=/usr/lib/jvm/default-java
export CATALINA_HOME=/var/lib/tomcat7
- También podemos instalar los siguientes paquetes adicionales, con la documentación, ejemplos y la administración (muy recomendables):
sudo apt-get install tomcat7-docs tomcat7-examples tomcat7-admin
- Por último nos quedaría modificar el archivo de usuarios:
sudo nano /var/lib/tomcat7/conf/tomcat-users.xml
- Deberemos dejarlo parecido a:
<tomcat-users>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<user username="admin" password="1234" roles="standard,manager-gui,manager-status,manager-script,manager-jmx,admin-gui,admin-script" />
</tomcat-users>
Lógicamente es bueno cambiar el usuario «admin».
- reiniciar el servicio de Tomcat
sudo service tomcat7 restart
Probamos con:
Y saldrá la típica página de IT WORKS.
Si hemos instalado el Manager, podemos acceder a la página:
http://localhost:8080/manager/html
Desde http://www.opentripplanner.org/ accedemos a la descarga de Opentripplaner.
- Después se copian los ficheros WAR de Opentripplaner en la carpeta: webapps de Tomcat7
- Una vez de que se despliegan hay que indicar en el archivo «opentripplanner-api-webapp/WEB-INF/classes/data-sources.xml» la ruta del archivo Graph.obj
Configuraciones varias
Si quiero cambiar la configuración de ancho de colores o grosor de las líneas iré al fichero:
[PATHTOMCAT]/webapps/opentripplanner-webapp/js/otp/util/OpenLayersUtils.js
Donde podré modificar las características de las líneas (en JSON):
SN3: { strokeColor: "#9B91C1", strokeOpacity: 0.7, strokeWidth: 6, pointRadius: 6, pointerEvents: "visiblePainted" },
Cambiar el icono
En la carpeta [PATHTOMCAT]/webapps/opentripplanner-webapp/images/ui tenemos un fichero llamado logoSmall.png con 148×37 píxeles que contiene la imagen que aparece en la esquina superior izquierda de nuestro planificador. Podemos sobrescribirla para cambiarlo.
Esta imagen en la web tiene un hiperenlace a una página. Podemos cambiarla editando el fichero: [PATHTOMCAT]/webapps/opentripplanner-webapp/index.html
.
Algunas pequeñas recetas en httpd.conf
En Ubuntu lo encuentras en /etc/apache2/apache2.conf
Editamos el fichero y podemos ir modificando algunas cosas:
Error 404
Para que no aparezca la típica página de error 404 (o de cualquier otro error) que da demasiada información, podemos:
ErrorDocument 404 http://mipagina/mipaginadeerror.html
Esto lo podemos hacer con todos los errores que queramos (403 – Forbidden, por ejemplo)
No liste directorios
Para ello, tenemos que añadir:
Options -Indexes
dentro de
<Directory /var/www>
…
</Directory>
Tiempo de Espera
El TimeOut por defecto está a 300 segundos, bájalo.
Apache – Fatal error: out of dynamic memory in
Hoy me surge este problema.
Fatal error: out of dynamic memory in …
Normalmente el … puede ser Unknown o algún script que es el que ha generado que se consuma la memoria autorizada para PHP en el servidor.
Cuando el servidor se ejecuta sobre Linux es mucho más complejo que nos aparezca esto. Si corremos sobre Windows, mejor será reiniciar el servidor una vez a la semana.
Para aumentar el tamaño de la memoria reservada:
– Nos vamos al fichero PHP.ini e incrementamos nuestra RAM para PHP
memory_limit = 64M ; Maximum amount of memory a script may consume (32MB)
Aumentando a 128M si es necesario.
– Si no tenemos acceso al fichero PHP.ini, nos vamos al .htaccess e intentamos lo siguiente:
php_value memory_limit 64M
Aumentando a 128M si es necesario.
Ocultar phpMyAdmin desde fuera del servidor
Para proteger la base de datos de la página web es necesario deshabilitar el acceso a phpMyAdmin desde fuera de nuestro servidor web y poder tener la opción de seguir usándolo desde dentro de nuestro servidor incluso dentro de la red local de la empresa debemos hacer lo siguiente:
Si tenemos Apache sobre Windows, abrimos el fichero http-xampp.conf (si hemos instalado XAMPP) y dentro encontraremos el alias que reenvía /phpmyadmin a la carpeta en la que tengamos instalado el phpmyadmin. Dentro de este alias, que por defecto tiene puesto
Order Allow, Deny
lo cambiamos por
Order Deny, Allow
así conseguimos que se deniegue para todos, esa es la preferencia.
Añadimos la línea
Deny from all
para denegar siempre y, a continuación, añadimos tantas líneas como máquinas queramos que ejecuten el phpmyadmin:
Allow from localhost Allow from 192.168.1.200
Otra manera de protegernos más aun sería cambiando el nombre del alias, en lugar de phpmyadmin que es el que todo el mundo conoce, poner otro distinto (lógicamente que no coincida con ningún directorio de nuestro sitio web).
Instalar phpMyAdmin
La orden es:
sudo apt-get install phpmyadmin
Entonces nos pregunta sobre qué servidor, Apache o Lighttp.
Elegimos Apache. Continúa configurando y entonces nos pregunta por la base de datos:
A continuación nos solicita la contraseña del administrador de BD y después la contraseña para phpMyAdmin.
Una vez terminada la instalación podras comprobar que esta correcto accediendo a http://localhost/phpmyadmin con los datos que introdujiste durante la instalación.
Si no funciona, ejecutar hacer lo siguiente
sudo gedit /etc/apache2/httpd.conf
Pegar lo siguiente dentro, luego salvar y cerrar:
Include /etc/phpmyadmin/apache.conf
Reiniciar el servidor web :
sudo /etc/init.d/apache2 restart
y listo ya está.
Tras insertar el usuario (root) y la contraseña que proporcionamos en el proceso de instalación, tendremos lo siguiente:
Instalar PHP5
La orden a utilizar es la siguiente:
sudo apt-get install php5 libapache2-mod-php5 php5-mysql
Cuando termina podemos ver la siguiente pantalla:
Como se puede ver, se ha reiniciado Apache, puesto que se ha instalado una serie de paquetes nuevos.
Si no se hubiera reiniciado, podemos hacerlo con la orden:
sudo service apache2 restart
Tras haber instalado PHP5, debemos comprobar que todo funciona bien, así que nada mejor que crear una página de prueba en PHP, se guarda en el directorio /var/www y luego lo probamos con http://localhost/holamundo.php
Así, tras escribir en la barra de direcciones del navegador: http://localhost/holamundo.php encontramos lo siguiente:
/var/www es un directorio propiedad de root, así que la escritura allí es imposible a no ser que seamos el root del sistema. Podemos trabajar en otra carpeta y luego copiarlo aquí utilizando:
sudo cp holamundo.php /var/www/holamundo.php
Instalar MySQL en Ubuntu
Ejecutamos la orden:
sudo apt-get install mysql-server
En primer lugar nos pregunta la contraseña del superusuario (root).
Después nos informará de que debe descargar X MB de Internet e instalarlos en nuestro equipo y que si deseamos continuar. Tras contestar con una simple S, instala MySQL y nos pregunta la contraseña del root de la base de datos:
Introducimos la contraseña del administrador de base de datos y continúa configurando la base de datos.
Ya tenemos MySQL instalado.