Instando e configurando o eyeOS V2.5

eyeOS é um sistema para escritórios, de código aberto, gratuito e multi-plataforma que utiliza os conceitos da Cloud computing, baseado na área de trabalho de um sistema operacional. É licenciado sobre a licença GPL. O pacote básico inclui uma estrutura completa de um sistema operacional e algumas aplicações de escritório, como um processador de texto, calendário, gerenciador de arquivos, programa mensageiro, navegador, calculadora, entre outros.

eyeOS é um projeto que iniciou com um pequeno grupo de programadores em Barcelona, na Espanha. Ele usa os poderes atuais do HTML, PHP, AJAX e JavaScript para disponibilizar um ambiente de área de trabalho dinâmico e com mobilidade. A diferença para outros ambientes de trabalho é que você inicia a sua área de trabalho e todos os aplicativos do eyeOS de dentro de um navegador de Internet.

Vou mostrar um pouco o eyeOS

Tela inicial dele.

Menu de Aplicativos

Menu de Gerenciamento de Arquivos

Explorer do eyeOS

Gerenciador de Músicas

Gerenciador de Imagens

Gerenciador de Configurações

Gerenciador de processos

Gerenciador de Email

Gerenciador de usuários, grupos e sistema.

Editor de texto básico

Editor de Texto mais completo

How to de como usar o eyeOS

Calendário no menu de tarefas

Qual versão estou utilizando

Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialsqueeze_en para que não falte nenhum pacote ou configuração.

Vamos mandar primeiramente fazer um update dos repositórios e um upgrade do sistema

aptitude update && aptitude dist-upgrade -y

Agora vamos instalar as dependências para o eyeOS funcionar

aptitude install php5 php5-curl php5-gd php5-mcrypt php5-mysql php5-sqlite \
python-uno uno-libs3 unoconv  libimage-exiftool-perl mysql-server-5.1 -y

Vamos habilitar o módulo necessário em nosso Apache

a2enmod rewrite

Agora vamos reiniciar o apache para ele reconhecer a nossa configuração

/etc/init.d/apache2 restart

Vamos criar um diretório para armazenar o eyeOS

mkdir -p /var/www/eyeos

Agora vamos obter o nosso eyeOS

cd /var/www/eyeos
wget -c http://wiki.douglasqsantos.com.br/Downloads/cloud/eyeos-2.5.tar.gz

Agora vamos extrair o nosso eyeOS

tar -xzvf eyeos-2.5.tar.gz 

Agora vamos acertar a permissão do nosso eyeos

chown -R www-data:www-data /var/www/eyeos
chmod -R 777 /var/www/eyeos
rm -rf /var/www/eyeos/eyeos-2.5.tar.gz

Agora vamos criar a base de dados para o nosso eyeOS

mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.1.61-0+squeeze1 (Debian)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database eyeos;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on eyeos.* to eyeos@localhost identified by 'senha';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

Vamos fazer uns ajustes no PHP, para que ele possa receber uploads de no máximo 20M ajuste de acordo com a necessidade.

vim /etc/php5/apache2/php.ini
[...]
post_max_size = 20M
[...]
upload_max_filesize = 20M
[...]

Agora vamos mandar reiniciar o apache

/etc/init.d/apache2 restart

Agora vamos acessar o nosso eyeOS para a instalação em http://ip_servidor/eyeos/install

  1. Na primeira tela selecione Install eyeOS 2 on my server
  2. Agora no final da segunda tela selecione Continue with the installation
  3. Agora vamos informar os dados do MySQL
  4. MySQL Host: localhost
  5. MySQL Database: eyeos
  6. MySQL Username: eyeos
  7. MySQL Password: senha
  8. Agora vamos informar uma senha para o root do eyeOS
  9. Agora no final da página vamos selecionar Continue with the installation
  10. Se tudo ocorreu certo vamos ter a ultima tela que com um link Go to my new eyeOS no final da página.

Como foi recomendado pelo eyeOS vamos remover o diretório de instalação

rm -rf /var/www/eyeos/install

Agora é só logar em http://ip_servidor/eyeos informar o usuário root e a senha que foi definida para ele.

Habilitando o eyeos trabalhar com https

Vamos gerar a key para o https

Preparando o diretório que vai armazenar os nosso certificados

mkdir -p /etc/ssl/apache
cd /etc/ssl/apache

Gerando a key

openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
....................++++++
...........++++++
e is 65537 (0x10001)
Enter pass phrase for server.key: senha
Verifying - Enter pass phrase for server.key: senha

Vamos gerar agora a requisição de assinatura para o certificado

openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key: senha
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Parana
Locality Name (eg, city) []:Curitiba
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Douglas
Organizational Unit Name (eg, section) []:Douglas
Common Name (eg, YOUR name) []:eyeos.douglasqsantos.com.br
Email Address []:douglas.q.santos@gmail.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:Douglas

Agora vamos auto assinar o nosso certificado

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
Signature ok
subject=/C=BR/ST=Parana/L=Curitiba/O=Douglas/OU=Douglas/CN=eyeos.douglasqsantos.com.br/emailAddress=douglas.q.santos@gmail.com
Getting Private key
Enter pass phrase for server.key: senha

Agora vamos acertar as permissões das chaves

chmod 0400 server.*
 cp server.key server.key.orig

Agora vamos tirar a senha do certificado assinado para que o apache não fique pedindo senha a cada vez que for inicializar

openssl rsa -in server.key.orig -out server.key
 Enter pass phrase for server.key.orig: senha
 writing RSA key

Vamos acertar as permissões de todas as chaves

chmod 0400 /etc/ssl/apache/* 

Vamos agora configurar o host virtual com o acesso via https para o nosso poweradmin

Aqui estamos redirecionando qualquer acesso ao site via http para https para forçar o cliente utilizar criptografia na conexão

vim /etc/apache2/sites-available/eyeos
<VirtualHost *:80> 
  ServerName eyeos.douglasqsantos.com.br
  Redirect / https://eyeos.douglasqsantos.com.br/ 
</VirtualHost> 
 
<VirtualHost *:443> 
        ServerAdmin webmaster@douglasqsantos.com.br 
        ServerName eyeos.douglasqsantos.com.br
  DocumentRoot "/var/www/eyeos"
   <Directory "/var/www/eyeos">
     Options -Indexes FollowSymLinks MultiViews
     AllowOverride All
     Order Allow,deny
     Allow From All
   </Directory>
        

   <IfModule mod_php5.c>
   AddType application/x-httpd-php .php
     php_flag expose_php Off
     php_flag allow_url_fopen Off
     php_flag allow_url_include Off
     php_flag magic_quotes_gpc Off
     php_flag register_globals Off
     php_flag disable_functions show_source
     php_flag disable_functions system
     php_flag disable_functions shell_exec
     php_flag disable_functions passthru
     php_flag disable_functions exec
     php_flag disable_functions popen
     php_flag disable_functions proc_open
     php_flag disable_functions symlink
                 php_value upload_max_filesize  15M
     php_value post_max_size 15M
   </IfModule>
        CustomLog /var/log/apache2/eyeos.access.log combined 
        ErrorLog /var/log/apache2/eyeos.error.log 
        LogLevel warn 
  SSLEngine on
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
  SSLCertificateFile "/etc/ssl/apache/server.crt"
  SSLCertificateKeyFile "/etc/ssl/apache/server.key"
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
     SSLOptions +StdEnvVars
  </FilesMatch>
     BrowserMatch ".*MSIE.*" \
     nokeepalive ssl-unclean-shutdown \
     downgrade-1.0 force-response-1.0
  ServerSignature Off
</VirtualHost>

Configurando a porta que o nosso host Virtual vai estar escutando.

vim /etc/apache2/ports.conf
[...]
NameVirtualHost *:443

Vamos carregar o módulo ssl para o apache.

a2enmod ssl

Vamos acertar as permissões do diretório

chown -R www-data:www-data /var/www/eyeos/

Vamos carregar o nosso host Virtual

a2ensite eyeos

Agora vamos desabilitar os virtuais hosts defaults

a2dissite default
a2dissite default-ssl

Agora é sé reiniciar o apache

/etc/init.d/apache2 restart

Agora crie um registro do tipo A apontando para o eyeos para podermos acessar ele pelo nome.

Agora já podemos acessar o nosso eyeos pelo seguinte endereço:

Referências