Owncloud 7 con encriptación SSL en Ubuntu 14.04

Owncloud-7-is-here-620x350

Ubuntu LAMP (Linux+Apache+Mysql+PHP)

( Actualizado aquí).

Nota: os recomiendo que echéis un vistazo a dos de mis posts si instalais el servidor desde cero:

Lo primero que necesitamos es instalar el servidor LAMP de ubuntu. Podemos hacerlo directamente en la instalación del Ubuntu Server, o posteriormente con los siguientes comandos:

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install lamp-server^

 

El carácter «^» es importante para que el tipo de instalación del servidor web sea apropiado. En la instalación nos pedirá que introduzcamos el password del root de MySQL. Asegúrate de introducir una buena password que sea fácil de recordar.

Owncloud utiliza los archivos .htaccess de Apache por razones de seguridad. Para poder usarlos necesitamos activar dos módulos con los siguientes comandos

sudo a2enmod rewrite
sudo a2enmod headers

 

Además tenemos que cambiar el archivo de configuración de apache para que reescriba las reglas adecuadamente. Con lo cual ejecutamos el siguiente comando

sudo nano /etc/apache2/sites-enabled/000-default.conf

Una vez quí debemos cambiar la línea

#ServerName www.example.com

AllowOverride None

Por

ServerName fqdn
ServerAdmin webmaster@localhost
 DocumentRoot /var/www/html
var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted

 

Finalmente reiniciamos apache

sudo service apache2 restart

 

Instalar OwnCloud

 

Instalamos paquetes necesarios para owncloud

sudo apt-get install php5 php5-mysql php5-gd php-xml-parser php5-intl libcurl3 php5-curl php5-json php5-mcrypt php5-imagick

 

Ahora localizamos la última versión de owncloud en el momento de redactar este tuto, ejecutamos en el terminal

$ cd /var/www/html

$ sudo wget https://download.owncloud.org/community/owncloud-7.0.2.tar.bz2

$ sudo tar -xjvf owncloud-7.0.2.tar.bz2

$ sudo rm owncloud-7.0.2.tar.bz2

El resto de la instalación se hace a través del navegador, y nos permite elegir entre otras cosas, el directorio donde se guardarán los datos de usuario que carguemos a través del navegador.

 

Si decidimos elegir un directorio distinto al que nos indica por omisión, a este directorio hay asignarle el usuario www-data con el siguiente comando

sudo chown -R www-data:www-data /ruta/al/directorio/de/datos/de/owncloud

 

La dirección de nuestro owncloud será http://host/owncloud.

Si tenemos un fqdn (fully qualified domain name) lo introducimos en vez de host. Podemos obtener uno gratuito en dyndns.com.

Si no tenemos el fqdn, introducimos la ip del servidor. Si accedemos a él, desde el propio servidor, en vez de host, ponemos localhost.

 

En nombre de usuario, introducimos el nombre que queramos para el usuario administrador de owncloud, así como la contraseña.

En directorio de almacenamiento puedo elegir el que quiera, pero recuerdo, debemos asignarle el usuario www-data.

En configurar la base de datos introducimos el usuario, password y nombre de la base de datos que hemos creado para owncloud.

 

Y ya tenemos instalado nuestro servidor owncloud.

 

Antes de salir, recomiendo entrar en personal y añadir nuestro correo electrónico, para poder recuperar la contraseña en caso de que la perdamos.ownpost1

 

Últimos ajustes

Ajustes de php

Necesitamos configurar php para que admita archivos grandes. Podemos hacerlo a través del terminal editando los archivos. /etc/php5/apache2/php.ini /etc/php5/cli/php.ini y pero es más cómodo y seguro hacerlo a través del módulo de webmin.

Para instalar webmin, vamos a http://webmin.com y descargamos el instalador con el comando wget. En el momento actual la última versión es la 1.650

wget http://switch.dl.sourceforge.net/project/webadmin/webmin/1.710/webmin_1.710_all.deb

Instalamos algunos paquetes necesarios

sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

Instalamos webmin y borramos el paquete

sudodpkg -i webmin_1.710_all.debsudo rm webmin_1.710_all.deb

Ahora podemos acceder al interface de webmin a través del navegador, en la dirección

https://ip_servidor:10000 (si accedemos desde el propio servidor https://localhost:10000)

Introducimos nuestro usuario y password y ya estamos dentro.

En el menú otros, seleccionamos PHP Configuration:

Damos al enlace Manage, y después den Resource Limits en cada uno de los ficheros y modificamos para que quede así.

phpconf2

Como maximum memory allocation, recomiendo poner una cuarta parte de la ram del servidor (pero es cuestión de ir probando).

Ajustes del .htaccess

Abrimos el .htaccess de owncloud con el siguiente comando

sudo nano /var/www/html/owncloud/.htaccess

Y modificamos las siguientes líneas

php_value upload_max_filesize 513Mphp_value post_max_size 513Mphp_value memory_limit 512M

Para que queden como los valores que modificamos en php.

php_value upload_max_filesize 20000Mphp_value post_max_size 20000Mphp_value memory_limit 2048M

Y reiniciamos apache

sudo service apache2 restart

 

Conexión SSL

Primero activamos el módulo SSL de Apache

sudo a2enmod ssl
service apache2 restart

Editamos el archivo de configuración /etc/ssl/openssl.conf

nano /etc/ssl/openssl.cnf

Encontramos y cambiamos las siguientes líneas

dir = /root/SSLCertAuth
default_days = 3650 # 10 years
default_bits = 2048 # recommended by NSA until 2030
countryName_default = ES
0.organizationName_default = Ubuntu Contrib

Creamos el diretorio para guardar todos los archivos de la autoridad certificadora SSL, en nuestro caso lo llamaremos “SSLCertAuth”. Ejecutamos los siguientes comandos

mkdir /root/SSLCertAuth
chmod 700 /root/SSLCertAuth
cd /root/SSLCertAuth
mkdir certs private newcerts
echo 1000 > serial
touch index.txt

Creamos la autoridad certificadora (CA) con el siguiente comando:

openssl req -new -x509 -days 3650 -extensions v3_ca \
-keyout private/cakey.pem -out cacert.pem \
-config /etc/ssl/openssl.cnf

Nos pide:

Enter PEM pass phrase:introducimos una contraseña que usaremos después para firmar cualquier certificado (hay que recordarla). Vamos introduciendo todos los datos, y tenemos especial cuidado cuando nos pir el Common Name, que debe ser nuestro nombre de internet (fqdn: fully qualified domain name).

 

Ahora creamos la solicitud de firma del certificado del sitio:

openssl req -new -nodes \
 -out apache-req.pem \
 -keyout private/apache-key.pem \
 -config /etc/ssl/openssl.cnf

De nuevo introducimos todos los datos que nos pide, y en Common Name de nuevo metemos el fqdn. Los extra atributes… podemos dejarlos en blanco.

Y finalmente generamos el certificado para copiarlo después en el directorio /etc/ssl

openssl ca \
-config /etc/ssl/openssl.cnf \
-out apache-cert.pem \
-infiles apache-req.pem

Introducimos la password de la CA que creamos antes y despues le decimos a todo que si.

Ejecutamos:

mkdir /etc/ssl/crt
mkdir /etc/ssl/key
cp /root/SSLCertAuth/apache-cert.pem /etc/ssl/crt
cp /root/SSLCertAuth/private/apache-key.pem /etc/ssl/key

El paso final consiste en configurar apache para que el servicio por misión HTTPS, sea owncloud.

mkdir /var/www/html/logs sudo nano /etc/apache2/conf-enabled/owncloud5-ssl.conf

Copia y pega la siguiente configuración:

<VirtualHost *:443>
ServerName fqdn
SSLEngine on
SSLCertificateFile /etc/ssl/crt/apache-cert.pem
SSLCertificateKeyFile /etc/ssl/key/apache-key.pem
DocumentRoot /var/www/html/owncloud
CustomLog /var/www/html/logs/ssl-access_log combined
ErrorLog /var/www/html/logs/ssl-error_log
</VirtualHost>

Donde pone fqdn, ponemos nuestro nombre de internet o la ip de nuestro servidor. Damot Ctrl+x para cerrar y “y” para salvar.

Desde dentro de owncloud (Administración) podemos forzar el uso de SSL, lo que es muy recomendable a efectos de seguridad.

owncloud ssl

 

Gracias a:

Transmission-daemon + transmission remote en Ubuntu 14.04 LTS

transmission

Nota: versión actualizada a Ubuntu 16.04, aquí.

¿Qué es transmission?

El cliente para bittorrent transmission es uno de los más habituales y comunes programas de descarga, especialmente en Linux y OSX.

Objetivos

Instalar transmission como servicio en linux sin la interface de gnome para poder acceder a él a través de un navegador o un gestor remoto.

Paso 1. El servidor

1. Primero vamos a instalar una utilidad que nos permitirá añadir repositorios a apt-get, sin necesidad de editar el archivo /etc/apt/sources.list

$ sudo apt-get install python-software-properties

2. Ahora añadimos el repositorio de transmission

$ sudo add-apt-repository ppa:transmissionbt/ppa

3. En caso de tener instalada la versión de escritorio gnome de transmision podemos desintalarla con

$ sudo apt-get remove transmission-gtk

4. Actualizamos e instalamos transmission-daemon

$ sudo apt-get update
$ sudo apt-get install transmission-cli transmission-common transmission-daemon

5. Ahora vamos a crear un arbol de directorios para los archivos de descarga de transmission. En mi caso he dedicado un disco especialmente para ello, pero en este tutorial la ubicación del directorio está en el directorio home de vuestro ususario.

 $ mkdir ~/downloads
 $ mkdir ~/downloads/completos
 $ mkdir ~/downloads/incompletos

6. Unimos nuestro usuario al grupo debian-transmission y damos permisos a los directorios creados. Donde pone username, poneis vuestro nombre de ususario.

$ sudo usermod -a -G debian-transmission username
$ sudo chown -R username /home/username/Downloads
$ sudo chmod -R 775 /home/username/Downloads

7. Muy importante: para editar el archivo de configuración de transmission, debemos parar el demonio.

$ sudo service transmission-daemon stop

8. Editamos el archivo de configuración:

$ sudo nano /etc/transmission-daemon/settings.json

8a.- Activamos la lista de bloqueo de instituciones anti-p2p, y spam

    "blocklist-enabled": true,
    "blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz",

8b,. Modificamos los directorios de descarga:

"download-dir": "/transmission/completos",
"incomplete-dir": "/transmission/incompletos",
"incomplete-dir-enabled": true,

8c.- Cambiamos el usuario y la password del usuario remoto de transmission, para aumentar la seguridad. Es importante que sea una password fuerte y un usuario distinto del habitual. Cuando arranquéis transmission de nuevo, si volveis a edita este archivos observareis que transmission lo ha encriptado. Además dejais en la lista blanca todas las redes para poder acceder desde fuera de casa.

«rpc-password»: «transmissionpassword«,
«rpc-username»: «transmissionuser«,
«rpc-whitelist»: «*»,
«rpc-whitelist-enabled»: true,

8d. Podeis también cambiar el puerto en que escucha transmission para el navegador web. Si es asñi modificad:

"rpc-port": 9091,

9. Iniciamos el demonio de transmission

$ sudo service transmission-daemon start

Paso 2. El cliente remoto:

Podéis descargalo en Google Code en el siguiente enlace transmisson-remote-gui . Es un cliente multiplataforma, lo hay incluso para android, y la configuración es muy sencilla. Simplemente hay que introducir la ip o nombre del servidor, el usuario y el password que hemos elegido. Por lo demás, las opciones son muy parecidas a las del cliente habitual de transmission.

Paso 3. Acceder a las descargas:

A través de Samba, Netatalk, sshd, ftp,… o cualquier otro servidor de archivos (hay que configurarlo, claro). Os recomiendo que los archivos los borréis desde el cliente remoto de transmission.

Gracias a:

Afinar la instalación Ubuntu Server 14.04 LTS LAMP (fqdn, dyndns, ssh,webmin, phpmyadmin)

lamp

Nota: versión actualizada a Ubuntu 16.04 aquí.

Este howto es la continuación del post Instalar Ubuntu-Server 14.04 LTS y tiene por objetivo mejorar la seguridad, y añadir un par de herramientas fundamentales:

  • Webmin: para administrar el sistema desde un navegador web, y
  • PhpMyAdmin: para administrar las bases de datos SQL y sacar copias de seguridad de estas.

La configuración del firewall no la incluyo (en mi caso, por ejemplo, tengo un firewall independiente)

Instalar WordPress en OSX

Wordpress logo
WordPress logo

Este post parte de la instalación native MAMP (Mac +MySQL + PHP) que podéis encontrar en el siguiente enlace de esta web.

Según este esquema de instalación el Document Root se encuentra en /opt/local/apache2/htdocs. Si tecleamos el fqdn en nuestro navegador nos dirigirá directamente a este directorio raiz. Si en /opt/local/apache2/htdocs generamos directorios podemos acceder a ellos tecleando en el navegador http://fqdn/directorio con lo que podemos tener todos los sitios que queramos con un único dominio. Para mi resulta la configuración adecuada.

Paso 1. Descargar wordpress en español

Vamos a https://es.wordpress.org/ y descargamos el archivo zip. En el momento de la elaboración de este howto es la versión 3.9. Abrimos el archivo con doble click y nos aparecerá un directorio que se llama wordpress. Lo renombramos a nuestro gusto, por ejemplo userwordpress.

Paso 2. Mover el directorio al Document Root de Apache

Teclea en la terminal el siguiente comando sustituyendo por tu nombre corto de usuario en osx.

$ mv /Users//Downloads/wordpress /Users//Downloads/userwordpress

Ahora vamos a mover el diretorio al DocumentRoot de apache

$ sudo mv /Users//Downloads/userwordpress /opt/local/apache2/htdocs

Damos permisos al directorio para que sea comptible con www

$ sudo chown -R _www:staff /opt/local/apache2/htdocs/userwordpress

$ sudo chmod -R 755 /opt/local/apache2/htdocs/userwordpress

Paso 3. Generar la base de datos en MySQL con Sequel Pro

Abrimos Sequel Pro e ingresamos como root de MySQL en la pestaña socket

sequel1

Nos aparecerá la siguiente pantalla

sequel2

En la barra superior de OSX damos click en Bases de datos, Añadir base de datos. Seleccionamos el nombre que queramos y le damos a añadir. En nuestro caso wordpressdb

sequel6

Después damos click en el botón que esta en parte superior izquierda de la aplicación y nos aparecerá la siguiente pantalla

sequel5

Le damos al boton + que esta en la parte inferior izquierda y añadimos el usuario de la base de datos por ejemplo userwp

sequel7

Y ahora le vamos a dar permisos en la nueva base de datos. Damos click en Privilegios del esquema, seleccionados la base de datos que hemos creado y le asignamos todos los privilegios hasta que nos quede así

sequel8

Damos aplicar y ya estamos listos para el siguiente paso.

 

Paso 4. Configurar wordpress.

Ingresamos en el directorio que hemos creado para el sitio con

$ cd /opt/local/apache2/htdocs/userwordpress

Generamos wp-config.php en base al ejemplo.

$ sudo cp wp-config-sample.php wp-config.php

Editamos el archivo con TextWrangler, eligiendo la opcion del menú Open File by Name, e introduciendo /opt/local/apache2/htdocs/userwordpress/wp-config.php

Necesitamos modificar los siguientes parámetros

/** El nombre de tu base de datos de WordPress */
define(‘DB_NAME’, ‘nombredetubasededatos’);

/** Tu nombre de usuario de MySQL */
define(‘DB_USER’, ‘nombredeusuario’);

/** Tu contraseña de MySQL */
define(‘DB_PASSWORD’, ‘contraseña’);

Lo modificamos y damos cmd + S para salvar el documento. Nos pedirá nuestro password para hacer las modificaciones.

Paso 5. Configurar wordpress a través del navegador.

Tecleamos http://127.0.0.1/userwordpress o http://fqdn/userwordpress (donde fqdn es el nombre de tu dominio de internet)

wp1Introducimos los datos y ya está.

Paso 5. Últimos toques y algunos consejos.

Para evitar que tengamos que acceder por FTP para actualizar e instalar temas y plugins vamos a añadir la siguiente línea a wp-config.php, editándolo como hemos hecho en el paso 4.

define(‘FS_METHOD’, ‘direct’);

Ahora es el momento de entrar en nuestro nuevo wordpress y personalizarlo. Os recomiendo sobre todo que configuréis el plugin akismet para evitar el Spam y que instaléis el Jetpack de wordpress, para lo cual debéis tener una cuenta en wordpress.com.

Y ya está!

Thanks to:

Native MAMP Web Server OSX 10.6.8 con Macports

Macports Logo
Macports Logo

MAMP significa Mac + Apache + MySQL + PHP. Es decir, vamos a montar las ultimas versiones de Apache, PHP y MySQL para montar un servidor web a la úlltima. La gran ventaja de urilizar Macports para realizar esta instalación es que contaremos con el último software libre en nuestro querido Snow Leopard.

Para acceder a nuestro servidor desde internet es necesario que el router haga un reenvío de puertos a nuestro ordenador, o que asignemos la ip de nuestro ordenador como DMZ en el router, pero en este segundo caso es obligatorio que activemos el firewall de OSX dejando abiertos los puestos que vamos a usar, en nuestro caso el 80 para http y el 443 para https.

Podemos incluso hacer un doble firewall con reenvío de puertos en el router y capado de puertos en el mac. Yo en mi caso tengo montado littlesnitch en el mac que controla todo lo que entra y sale y te avisa en tiempo real permitiéndote generar reglas según los programas que uses de forma inmediata.

Paso 1. Instalación y Actualización de OSX.

Primero instalamos Snow Leopard marcando la casilla de X11. Si no lo hemos marcado en el momento de la instalación lo podemos hacer después desde el disco de instalación.

Damos click en la carpeta Instalaciones opcionales.

OSX 10.6 DMG

 

Nos aparecerá la siguiente pantalla

Instalaciones Opcionales OSX 10.6

En optional Installs podemos instalar X11.

setup X11

También podemos instalar Xquartz, proyecto del que deriva el X11 de Mac, para tener todo actualizado. Para descargar la aplicación haz click en este enlace. Después de instalarlo relogea o reinicia el mac.

XQuartz

Después instalamos Xcode con las opciones por defecto.

Xcode

Ahora es el momento de actualizar todo desde preferencias del sistema

Paso 2. Nombre del Host.

Desde la terminal utilizamos los siguientes comandos.

sudo scutil --set ComputerName "newname"
sudo scutil --set LocalHostName "newname"
sudo scutil --set HostName "fqdn"
dscacheutil -flushcache

ComputerName se refieren al nombre de la máquina, el LocalHostName a nombre del ordenador para nuestra red interna, y HostName el fqdn o nombre de dominio de internet que podemos obtener de forma gratuita en dyndns.org.

sudo nano /etc/hosts

Debajo de la línea que empieza por 127.0.0.1 ponemos la ip de la interfaz de red de nuestro servidor que escucha internet (y que puede ser también la que usamos en la intranet) seguida del fqdn y del nombre local. Por ejemplo

192.168.1.10   nombre.com     nombre

Ctrl+x para salvar y después de esto reiniciamos el Mac

Paso 3. Instalar textwrangler.

textwrangler

Aunque podríamos editar los archivos de configuración con nano, con vi o con cualquier otro editor, textwrangler hará que toda esta tarea y la de configuración posteriores sea mucho más sencilla. Podéis descargarlo gratuitamente desde este enlace.

Paso 4. Instalación de MySQL

Podríamos instalarlo via macports, pero es mucho mejor instalar el MySQL Community Server, sobre todo por un par de utilidades. En el momento de esta instalación la versión es 5.6.17. Damos click en el siguiente enlace y elegimos nuestra versión de OSX. En nuestro caso la 10.6 y descargamos en formato dmg. Si vuestro mac corre el kernel a 32bits bajaros la versión a 32, si corre el kernel a 64bits entonces la versión a 64. En mi caso tengo un Mac Pro 1.1 (de primera generación) e instalaré la versión a 32bits. Aseguraté de descargar la versión correcta. Si te equivocas para borrar MySQL sigue las instrucciones del siguiente enlace.

Una vez descargado el dmg, lo abrimos y vemos

MySQL Community Server

Instalamos los tres paquetes en el orden en que aparecen. Tras la instalación podemos is a preferencias del sistemas y nos aparecerá un nuevo icono

Preferencias del sistema

Damos click encima de MySQL y activamos Automatically Start MySQL Server on Startup y Start MySQL Server

mamp3

Para ver la versión instalada de MySQL tecleamos en el terminal

/usr/local/mysql/bin/mysql -v

para salir en la línea de comandos teclea

quit

para salir en la línea de comandos teclea

Después de la instalación y para no tener que teclear la ruta a mysql editamos

cd ; nano .bash_profile

y añadimos

export PATH="/usr/local/mysql/bin:$PATH"

Ctr+X para salir y salvamos. Para activarlo ejecutamos en el terminal

source ~/.bash_profile

Para probar que funciona ejecutamos en el terminal

mysql -v

Ahora vamos a dar password al root

mysqladmin -u root password 'aqui_tu_password'

No olvides las comillas simples!!!!!

Para acceder a MySQL como root teclea:

mysql -u root -paqui_tu_password

Ojo!!!! No hay espacio entre -p y aqui_tu_password

Para asegurar MySQL teclea:

sudo mysql_secure_installation

Te preguntará

  • Si quieres cambiar la password del root: como la acabamos de dar de alta en principio no hace falta.
  • Si quieres eliminar a los usuarios anonimos: Yes
  • Si quieres desautorizar al root para que loguee remotamente: Yes
  • Si quieres eliminar la test database: yes
  • Si quieres recargar los privilegios de las tablas: yes

Después de esto puedes interactuar directamente en la línea de comandos de MySQL con:

mysql -u root -p[password]

Paso 5.- Instalamos el gestor de bases de datos Sequel Pro.

sequel-pro-1.0

Es muy similar a phpmyadmin, solo que se ejecuta directamente como un programa en nuestro escritorio. Podemos descargarla gratuitamente desde la web del desarollador en el siguiente enlace. Nos bajamos el dmg, lo abrimos y arrastramos el icono a la carpeta aplicaciones.

Cuando lo abrimos seleccionamos la pestaña socket, introducimos los datos como veis y el password del root de MySQL.

sequel1

El interface que nos aparece es el siguiente

sequel2

En el menú de arriba podemos añadir nuevas bases de datos, y en el botón de usuarios, añadir usuarios y asignarles permisos para cada base de datos. El programa es muy intuitivo.

 

Paso 6.- Instalar Macports.

Puedes descargar macports desde http://www.macports.org/install.php. Procedemos a la instalación.

macportssetup

 

Ahora abrimos el terminal y escribimos:

sudo nano /etc/paths

Escribe tu password y después copia y pega lo siguiente:

/opt/local/bin
/opt/local/sbin

guardamos el archivo: alt + x y despues y Reiniciamos la computadora y a continuación ejecutamos en el terminal

sudo port -v selfupdate
sudo port upgrade outdated

Estas instrucciones nos serán útiles para actualizar el software de macports a la manera apt-get.

Paso 7. Instalar Apache

Es muy importante desactivar el servidor web de OSX si lo tenemos activado antes de instalar el apache2 de macports.

Para instalar ejecutamos:

sudo port install apache2

 

Para ejecutar apache

sudo port load apache2

 

MacPorts ha creado un archivo denominado ~/.profile que hay que editar para añadir la siguiente línea

alias apache2ctl='sudo /opt/local/apache2/bin/apachectl'

 

Recargamos el .profile para que tenga efecto en la terminal

source ~/.profile

E iniciamos Apache.

apache2ctl start

Ahora es el momento de comprobar que funciona en la archiconocida dirección http://localhost . Deberemos ver el mensaje it works.

Paso 8. PHP 5.4

Instalamos PHP54

sudo port install php54
sudo port install php54-apache2handler
cd /opt/local/etc/php54 && sudo cp php.ini-production php.ini

Instalamos un montón de extensiones.

sudo port install php54-apc php54-curl php54-gd php54-http php54-iconv php54-imagick php54-mbstring php54-mcrypt php54-memcached php54-mysql php54-openssl php54-tidy

Testeamos php con el siguiente comando

php54 -i

Nos saldrá un montón de líneas de información

Editamos con textwrangler el archivo /opt/local/etc/php54/php.ini y modificamos lo siguiente:

1. Buscamos la expresión

;date.timezone =

y la sustituimos por

date.timezone = "Europe/Madrid"

2. Incrementamos los límites de PHP (esto es opcional, depende del uso que vayas a dar al servidor. En mi caso para owncloud prefiero maximizar los recursos) .

Localizamos

memory_limit = 128M

y la sustituimos por

memory_limit = 2048M

 

Localizamos

upload_max_filesize = 2M

y la sustituimos por

upload_max_filesize = 20000M

 

Localizamos

max_input_time = 60

y la sustituimos por

max_input_time = 300

 

Localizamos

post_max_size = 8M

y la sustituimos por

post_max_size = 20000M

 

Localizamos

max_execution_time = 30

y la sustituimos por

max_execution_time = 300

 

3. Reiniciamos apache

apache2ctl restart

Paso 9. Conectar Apache con PHP

Sacamos copia de seguridad del archivo de configuración de apache

cd /opt/local/apache2/conf

sudo cp httpd.conf httpd.conf.backup

Activamos el modulo php en Apache

cd /opt/local/apache2/modules

sudo /opt/local/apache2/bin/apxs -a -e -n php5 mod_php54.so

Editamos con textwrangler el archivo /opt/local/apache2/conf/httpd.conf y modificamos lo siguiente:

1. Buscamos la expresión AddType y después de los # añadimos

AddType text/html .php

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

2. Buscamos la expresión AddHandler (justo unas líneas más abajo) y añadimos

AddHandler application/x-httpd-php .php

AddHandler application/x-httpd-php-source .phps

3. Sustituimos la línea

DirectoryIndex index.html

por

DirectoryIndex index.html index.php

4. De forma opcional pero para incrementar la seguridad del servidor sustituimos

Options Indexes FollowSymLinks

por

Options FollowSymLinks

5. Eliminamos la extensión php5.so si existe

6. Al final del archivo añadimos

#  
# Include PHP configurations 
# 
Include conf/extra/mod_php54.conf

 

7. En la sección ServerName ponemos el fqdn de nuestro servidor

ServerName fqdn:80

8.Chequeamos que la sintaxis es correcta/opt/local/apache2/bin/httpd -t

8. salvamos y reiniciamos Apache

apache2ctl restart

 

Paso 10. testear PHP+Apache

El directorio raiz de las web de apachem es /opt/local/apache2/htdocs y vamos a convertir el index.html a index.php mas una pequeñas modificaciones.

cd /opt/local/apache2/htdocs

sudo mv index.html index.php

Editamos el archivo para que quede


<html>

<body>

<?php

It works!

phpinfo(); ?>

</body>

</html>

 


Salvamos el archivo y vamos a http://127.0.0.1 para ver si funciona todo ok.

Paso 11. Conectarlo todo.

Vamos a hacer primero una consulta a MySQL para obtener dos datos que necesitaremos en seguida: basedir y sockets. Anotalos para utilizarlos mas adelante. La instrucción es la que sigue y deberemos introducir la password de MySQL

mysqladmin -u root -p variables

Los resultados obtenidos en mi instalación son:

basedir /usr/local/mysql
socket /tmp/mysql.sock

Preparamos mycnf, donde basedir es el directorio que nos hada la consulta de variables anterior

sudo cp /usr/local/mysql-5.6.17-osx10.6-x86/support-files/my-default.cnf /my.cnf

Preparamos mycnf, donde basedir es el directorio que nos hada la consulta de variables anterior

sudo cp /usr/local/mysql-5.6.17-osx10.6-x86/support-files/my-default.cnf /my.cnf

Editamos /opt/local/etc/php54/php.ini y en las líneas en las que aparece default_socket, añadimos el socket que nos ha dado variables. En mi caso


pdo_mysql.default_socket = /tmp/mysql.sock

mysql.default_socket = /tmp/mysql.sock

mysqli.default_socket = /tmp/mysql.sock


 

Guardamos y reiniciamos Apache

apache2ctl restart

Comprobamos la conexión

php54 -i | grep -i 'mysql'

Y ahora el test definitivo, editamos el archivo index.php que hemos editado antes y lo dejamos como


<?php

$dbhost = 'localhost';

$dbuser = 'root';

$dbpass = 'MYSQL_ROOT_PASSWRD';

$conn = mysql_connect($dbhost, $dbuser, $dbpass);

if ($conn) {

echo 'CONNECT OK';

} else {

die ('Error connecting to mysql');

}

$dbname = 'mysql';

mysql_select_db($dbname);


Reemplazamos MYSQL_ROOT_PASSWRD con el password del root de MySQL. Al acceder a http://127.0.0.1 nos tiene que aparecer el mensaje CONNECT OK. Inmediatamente borramos el archivo!!!!!!

sudo rm /opt/local/apache2/htdocs/index.php
cd /opt/local/apache2/htdocs/
cp index.html.sample index.html

Paso 12. Revisar

Reiniciamos y ditamos de nuevo ~/.profile y verificamos que está
alias apache2ctl='sudo /opt/local/apache2/bin/apachectl'
   

En caso contrario la volvemos a añadir (Macports puede haberla modificado) y volvemos a ejecutar
   source ~/.bash_profile
   
y después ejecutamos
	sudo port load apache2

Paso 13. Mas extensiones PHP.

PHP-PEAR

Ejecutamos:

mkdir tmp
cd tmp
curl http://pear.php.net/go-pear.phar -o go-pear.phar
sudo php go-pear.phar

Tendrás que cambiar algunas opciones de configuración, la opción #1 y #4.

Presionamos 1 – Installation base ($prefix) – e introducimos:

/opt/local/lib/php54

Press 4 – Binaries directory – introducimos:

/opt/local/bin
Damos enter hasta que salimos de la utilidad de configuración.

3. Editamos /opt/local/etc/php54/php.ini y buscamos la expresión include_path y añadimos

include_path = ".:/opt/local/lib/php54/share/pear"

Luego ejecutamos

apache2ctl restart

PEAR está instalado, ahora vamos a instalar algo de software:

Unit tests

sudo pear install pear.phpunit.de/PHPUnit

Documentation generator

sudo pear install pear.apigen.org/apigen

Reiniciamos Apache

sudo /opt/local/apache2/bin/apachectl restart

Ahora podemos iniciar Apache y Memcached, con los siguientes comandos:

sudo port load apache2
sudo port unload apache2

sudo port load memcached
sudo port unload memcached

// memcached debugging, iniciar con:

memcached -vv

Paso 14. Virtual Hosts.

Podemos configurar virtualhosts, pero en mi caso prefiero trabajar con subdirectorio. En los enlaces que os dejo podéis ver como configurarlos.

Thanks to:

 

Mavericks en MacPro 1.1 ¿Y ahora qué?

Linux Nº 1
Linux Nº 1

Los dos post anteriores  (https://www.pacorabadan.com/?p=762 y https://www.pacorabadan.com/?p=784) permiten actualizar mi Mac Pro a Mavericks y la verdad es que me quedo con Snow Leopard. He echado un vistazo a los comentarios del App Store sobre Iphoto, Garage Band, Final Cut,… y dan miedo. La verdad es que vamos a echar mucho de menos a Steve Jobs. Parece que Apple quiere seguir el modelo de negocio de Microsoft de dejar los ordenadores obsoletos con rapidez y encima funcionando mal.

El futuro está en el Software Libre, cada día lo tenemos todos mas claro.

Instalar Mavericks en un viejo Mac Pro 1.1 & 2.1 (2006/2007 gen)

Mac Pro 1.1 corriendo Mavericks
Mac Pro 1.1 corriendo Mavericks

 

NOTA: Este artículo es una traducción del que podeis encontrar en http://www.reddit.com/r/apple/comments/1rsp3q/install_mavericks_on_older_mac_pro_11_21_20062007/. (Os recomiendo que leais los comentarios. No tienen desperdicio)

Lo han conseguido, puedes instalar el Mac OS 10.9 Mavericks en el Mac Pro de Primera y Segunda Generación.

Nota importante, no me hago responsable de este maravilloso hack. Todo el mérito debe ir al usuario Tiamo del forum de Macrumors que acepta donaciones por Paypal para cualquiera que quiera invitarle a una cerveza (la información está en un link mas adelante)

Los Mac Pro del 2206 y 2007 tienen una EFI a 32 bits y por eso desde la versión 10.7 Lion no ha sido fácil instalar versiones superiores de OSX en ellos. Esto hace que no estén soportados a partir de la versión 10.8 y hayan sido declarados obsoletos. Antes de empezar a cortar y pegar la guia de Macrumors adjuntada en los enlaces de mas abajo quiero decir que estoy desde mi Mac Pro 1.1 (Firmaware hacked a la versión 2.1) corriendo OSX 10.9 Mavericks!

La guía esta más abajo. Mi advertencia es que DEBES usarla para la creación de un disco de instalación USB de Mavericks. No Uses la utilidad automatizada de los discos de Lion porque no funcionará (la utilidad de discos de Lion es muy buena, pero no demasiado útil en este escenario en particular). Buena suerte.

Copy/Paste:

  1. Sigue los pasos para hacer el disco USB de instalación – http://www.tips-and-tricks-in-mavericks.com/how-to-create-an-os-x-mavericks-install-drive/ (la traducción en pacorabadan.com https://www.pacorabadan.com/?p=762 )
  2. Reemplaza boot.efi (con el boot.efi hackeado enlazado mas adelante )que puedes encontrar en System/Library/CoreServices/boot.efi y usr/standalone/i386/boot.efi
  3. Inserta tu id de placa (board-id) dentro de OSInstall.mpkg (por favor googlealo)
  4. Inserta tu id de placa (board-id) dentro de InstallableMachine.plist (por favor, googlealo)
  5. Reinicia desde la unidad USB.

Esto hace un bootloader nativo efi32, en vez de un loader CSM que construye un enlace entre el EFI64 y el EFI32, enlazando el EFI64 del kernel con el firmware EFI32. Estos programa usan rutinas de servicio EFI, como bless, nvram, que pueden correr sin problemas. Esta es una versión completa del bootloader, hibernación, filevault 2 que están soportadas «out of the box».

El código fuente lo podéis encontrar en http://code.google.com/p/macosxbootloader/  y está construido con visual studio 2013 y nams.

La efi hackeada: boot.efi

Nota: Esta es una forma de instalación limpia de instalar Mavericks en hardware legacy. Hay otras maneras de instalar OSX MAvericks via Chamaleon bootloader que converten tu Mac en un Hackintosh, pero requieren mucho mas trabajo.

Como crear un pendrive de instalación de OSX Mavericks

OSX MAvericks
OSX 10.9 Mavericks

Apple ha lanzado Mavericks como una actualización gratuita para la mayoría de los usuarios de Mac que corren, al menos, la versión 10.6.8 de Snow Leopard. Desde el lanzamiento de la versión 10.8, Mountain Lion,  está sólo disponible desde el Mac App Store. Simplemente no puedes comprarlo en un medio de instalación físico.

En algunos casos, puede que quieras crear un medio de instalación USB «booteable». Esto era algo muy sencillo en el pasado. Ahora es un poco mas difícil.

Para hacerlo necesitas:

  • Un Mac con acceso a internet y al Mac App Store.
  • Una unidad USB de al menor 8Gb o mas (nota que todo el contenido de la unidad será destruido durante este proceso!).

 

Paso 1. Descarga la aplicación de instalación de OSX Mavericks.

OS-X-Mavericks-App-Store-downloadAbre el Mac App Store en tu Mac y encuentra la página de descarga de la aplicación de instalación del OSX Mavericks. Descargar la aplicación tardará un rato porque ronda los 5.2Gb de tamaño.

Puedes incluso proceder con el paso 2 mientras se descarga.

Paso 2. Muestra los archivos ocultos en tu Mac

Abre el Finder, ve a aplicaciones, Abre la carpeta de Utilidades y haz doble click en Terminal.

Terminal-windowCopia y pega lo siguiente en la ventana del terminal, después pulsa enter para hacer todos los archivos ocultos visibles.

defaults write com.apple.finder AppleShowAllFiles TRUE && killall Finder

Mas adelante en este post, volveremos a ocultarlas de nuevo.

Paso 3. Abre la aplicación de instalación del OSX Mavericks.

OS-X-Mavericks-Show-Pakage-Contents

Una vez que haya terminado la descarga, abre el Finder, ve a aplicaciones, haz click derecho en «Install OSX Mavericks» y despues haz click en «Mostrar contenidos del Paquete».

Paso 4. Encuentra el archivo InstallESD.dmg

En este paso, necesitas montar el archivo de imagen InstallESD.dmg haciendo doble click en el.

OS-X-Mavericks-InstallESD-DMGEl archivo puede encontrarse bajo Contents –> SharedSupport.

 

Paso 5. Encuentra el archivo BaseSystem.dmg

Haciendo doble click en el antedicho archivo InstallESD.dmg, se abrirá una nueva ventana.

OS-X-Mavericks-Install-ESDEn esa ventana, encuentra el archivo BaseSystem.dmg. Nota que el archivo aparece en gris debido a que es un archivo oculto.

Paso 6. Abre Utilidad de discos.

En la carpeta de utilidades que has abierto en el paso 2, encuentra la Utilidad de Discos y haz doble click sobre ella.

Inserta el Pendrive en tu Mac.

OS-X-Mavericks-Disk-Utility-1

Ahora, arrastra el archivo BaseSystem.dmg que localizamos en el paso 5 a la lista de discos en la Utilidad de discos.

Paso 7. Empezar a copiar en la unidad USB

OS-X-Mavericks-Disk-Utility-2En Utilidad de discos, haz click en la partición USB, después haz click en desmontar en la barra de herramientas (el botón azul y blanco justo a la izquierda del famoso botón amarillo y negro).

Ahora haz click en BaseSystem.dmg en la lista de discos y arrastra la unidad USB (8-03 Sandisk Cruzer M, en mi caso) en el campo de destino del panel de restauración.

Si estás preparado para empezar la copia, haz click en restaurar en el botón inferior derecho.

Paso 8. Borrar el paquete alias

Delete-Packages-AliasVe al Finder, busca la unidad USB que acabas de crear y encuentra System -> Installation y borra el paquete alias.

Paso 9. Copia la carpeta actual de paquetes.

Copy-actual-Packages-folder-1

Abre otra ventana del Finder (seleccionando el Finder y pulsando cmd + N). Encuentra la imagen de instalación InstallESD.dmg que abriste con anterioridad. Desde allí, copia la carpeta de paquetes al directorio de instalación en tu unidad USB (justo donde borraste el archivo alias en el paso 8). Este paso tardará un rato.

Paso 10. Vuelve a ocultar los archivos ocultos.

Hide-hidden-Files-in-OS-XAbre el terminal (sigue el paso 2) y copia y pega el siguiente comando, después pulsa enter.

defaults write com.apple.finder AppleShowAllFiles FALSE && killall Finder

Paso 11. Instala OSX MAvericks desde tu unidad USB

Eso es todo. Tu unidad USB estña lista para ser usada como medio de instalación del OSX MAvericks.

Asegurate de insertar tu unidad USB, reiniciar tu Mac y mantener pulsada la tecla alt cuando oigas el sonido de arranque del sistema.

NOTA: este post en una traducción del artículo publicado en la página http://www.tips-and-tricks-in-mavericks.com/how-to-create-an-os-x-mavericks-install-drive/

Mac Pro 1.1 (Año 2006) vs. Mac Pro 2013

macpro_1_1
Mac Pro 1,1 (Año 2006) S.O. Original Tiger 10.4

 

Esta máquina fue mi primer Mac, el Mac Pro 1.1, y muchas versiones de OSX han pasado por él: Tiger, Leopard, Snow Leopard y Lion. Y la verdad es que me quedé en Snow Leopard por varias razones:

  • Lion no es compatible con el software de Power Pc: hay jollitas que no quiero perder y software original que me compre y cuyas versiones originales (Shake, Final Cut Express,… sin actualizaciones) solo puede correr con Rosetta.
  • La desaparición de Software LIbre a favor del software privativo de Apple con Lion.
  • La merma de recursos, sobre todo en RAM, absolutamente injustificada porque no aumentan en absoluto las prestaciones de la máquina.

Pensé, supongo que como todos, que sería un versión de paso de Apple que daría lugar a un Montain Lion flamante, pero no ha sido así. Lo único que parecía aventurar un cambio de sistema operativo, y por tanto plantearse un mac pro nuevo era el uso de las memorias SSD que precisan del comando trim para funcionar de forma óptima. Pero con trimenabler y Chamaleon SSD Optimizer se acabaron los problemas.

Y en el año 2013, aparece…

Mac Pro 2013
Mac Pro 2013

La maquinita en piezas…

mac-pro 2013 desmontadoEs un concepto de máquina completamente nuevo, y muy caprichoso. El rendimiento interno debe ser descomunal, pero necesitamos imperiosamente un raid externo para poder funcionar con él, o un servidor de archivos potente. Y eso no es lo peor. Si como yo, tenéis tarjetas PCI-e que valen una fortuna como las UAD o las Powercore. Sólo tienes dos opciones o comprar un modulo adaptador para adaptar las tarjetas al thunderbolt o tirar las tarjetas y comprar hardware nuevo que es mas caro que las tarjetas.

Caja pcie-thunderbolt
Caja pcie-thunderbolt

Es decir, lo que en el mac pro 2006 ocupa un macpro 2006, ahora en el 2014 ocupa el mac pro + raid + caja thunderbolt…y todo cuesta mas caro, aparte de porque sea Apple, porque hay que comprar mas cosas.

Como podemos ver, podemos actualizar hasta el procesador, cosa que yo ya hice con mi mac 2006. Actualmente tengo dos XEON de cuatro núcleos a 2,66 Ghz y 16 Gb´s de Ram. Además de la ATI Radeon X1900. Y el caso es que no me acabo de fiar del aparato ni del thunderbolt, a parte que el otro día echando cuentas en el Mac Store, el Mac Pro de mis sueños se subía a unos 16.000€ con raid, pantalla, etc…  Y  si es para casa…  XD.

He estado ojeando precios, y un Mac Pro 1.1, lo puedes comprar de segunda mano por unos 600$. Y habría que moverse un poco pero subir a los 16Gb de ram y meterle una gráfica compatible lo mismo no es tan caro.

He probado Ubuntu 14.04 LTS y va perfecto (excepto porque tienes que instalarlo en un disco duro que dependa directamente de la controladora principal para que pueda arrancar. Es decir, no puedes arrancar desde la controladora pci-e).

Comparemos ambas arquitecturas. Con el Mac Pro del 2006, puedes actualizar los procesadores, y aumentar el número de discos duros internos hasta 12  (los 4 donde se encajan los discos + 2 salidas sata ocultas tras los ventiladores + 3 ranuras pcie con controladoras sata x 2 SSD’s o discos de 2,5). Con el Mac Pro 2013 tienes dos controladoras gráficas de impresión y hasta 64Gb Ram. Según mi criterio, el nuevo Mac Pro parece destinado a la edición de video, y a aquellos que se inician en el audio profesional y tienen que invertir desde cero. E incluso en este último caso, no se si sería más interesante trabajar en Snow Leopard con un Mac Pro previo al modelo papelera, por el tema del coste y el software disponible  (que en el ámbito del audio tiene que estar mas que testeado).

Sonnet Tempo SSD Pro 6Gb/s SATA PCIe 2.0 controladora SSDYo en mi modesta configuración he metido dos controladoras Apricorn para dos SSD que tampoco han sido muy caras, las KINGSTON SV300S37A120G.

Apricorn solo
Apricorn solo
KINGSTON SV300S37A120G
KINGSTON SV300S37A120G

La controladora me costo 60€ y la SSD otros 60€. Sólo con eso el rendimiento del Mac Pro 1,1 se ha doblado. Los cuatro Discos duros los he dejado para un raid 10 de 6Tb ( 4HDD x 3Tb). El último invento que voy a probar es montar dos SSD’s Kingston de 120Gb en RAID Stripe a ver que pasa.

Pero lo que realmente me dejó completamente anclado en este modelo de mac y en el Snow Leopard ha sido:

  • MacPorts: Este proyecto porta el software libre de linux a OSX, y yo he conseguido montar con el la última versión de apache, PHP54 y MYSQL de Oracle… todo ello para acabar montando el Owncloud 6, que no es compatible según la web de owncloud con Mac OSX Server. El problema de seguridad del Firewall lo he solucionado montando Little Snitch. Y me estoy planteando incluso mudar esta página a mi servidor de casa.
  • No ha habido ninguna incorporación de software lo suficientemente innovadora como para plantearse el cambio.

Si tengo tiempo subiré un post de como montar el MAMP ( Mac + Apache + MYSQL + PHP54) SSL en Snow Leopard con MacPorts. Pero la verdad es que no ha sido fácil y como me gusta tanto tunear las instalaciones me llevara mucho tiempo montar el howto perfecto.

De momento estoy encatando con mi gato, el leopardo blanco,  y paso de las olas por muy Mavericks que sean.

Saludos!