Instando e configurando o eyeOS V1.9

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 mostar um pouco do sistema

Tela inicial do sistema.

Menu de escritório

Menu de Network

Menu de Acessórios

Menu de Games

Explorer

Preferências do sistema

Cliente FTP

Navegardor Web

Gerenciador de Processos

Jogo de xadrez

Processador de Texto

Gerenciador de apresentações

Calendário

Menu de configurações

Aplicações disponíveis

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 mandar instalar o php5 e as dependências para que o eyeOS funcione corretamente.

aptitude install php5 php5-imap php5-sqlite -y

Agora vamos obter o nosso eyeOS

cd /var/www/
wget -c http://wiki.douglasqsantos.com.br/Downloads/cloud/eyeOS_1.9.0.3-1.zip

Agora vamos mandar extrair os arquivos do nosso eyeOS

unzip eyeOS_1.9.0.3-1.zip

Agora vamos acertar as permissões do nosso eyeOS

cd /var/www
mv eyeOS eyeos
chown -R www-data:www-data /var/www/eyeos
chmod -R 777 /var/www/eyeos

Agora vamos reiniciar o apache para ele reconhecer as novas configurações

/etc/init.d/apache2 restart

Agora vamos configurar ele acesse http://ip_servidor/eyeos

  1. Na primeira tela informe a senha do usuário root para o eyeOS
  2. Ainda na primeira tela informe o nome para o seu sistema eyeOS
  3. Temos ainda a opção de habilitar se os usuários podem criar contas se achar necessário marque está opção
  4. Agora selecione Install eyeOS
  5. Aqui temos também a opção de mudar o idioma fique a vontade.
  6. Agora fomos redirecionados para a página inicial do eyesOS
  7. informe o usuário root e a senha que você definiu na tela de instalação
  8. Pronto já está instalado e pronto para usar.
  9. Do lado inferior direito temos o simbolo do eyeOS do lado do relógio é aonde chamamos o menu de configuração.

OBS: Está versão já está descontinuada porém como é em php, html, ajax, javascript podemos modificar o que for necessário.

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
   </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