Pesquisa

Google

terça-feira, agosto 20, 2013

Continuando o Servidor perfeito com CentOs.

Depois de alguns meses voltei a traduzir.

4 - Editar o /etc/hosts


Em seguida vamos editar o arquivo '/etc/hosts'. Deixe desta forma:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.100 server1.example.com server1

** O 5º passo do tutorial original volta a falar do firewall, mas nós já o desativamos antes então vou passar para o 6º passo.

6 - Desabilitar o SELinux


O SELinux é uma extensão de segurança do CentOS (** Sistemas baseados na Red Hat) que deve fornecer uma segurança a mais. Na minha opinião, você não precisa dele para configurar um sistema seguro, e, geralmente, causa mais problemas do que vantagens (pense depois de ter passado uma semana procurando um problema porque algum serviço não estava funcionando como o esperado e então você descobre que tudo estava ok, era apenas o SELinux que estava causando um erro). Portanto, vamos desativa-lo (tem que ser feito se você quiser instalar o ISPConfig depois).

Edite /etc/selinux/config
e escreva desta forma SELINUX=disabled:

vi /etc/selinux/config

** Ficará assim:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted



Depois vamos reiniciar o sistema:

reboot
 




7 - Ativar os repositórios adicionais e instalar alguns softwares.


Primeiro vamos importar a chave GPG dos pacotes de softwares.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Vamos permitir que os repositórios RPMForge e EPEL estejam em nosso sistema CentOS pois os pacotes que vamos instalar no decorrer deste tutorial não estão disponíveis nos repositórios oficiais do CentOS 6.3.
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
cd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Se o link acima não funcionar mais, você pode encontrar a versão em : http://packages.sw.be/rpmforge-release/)


rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm -ivh epel-release-6-7.noarch.rpm

** Estes comandos acima para habilitar o repositório epel não funcionou comigo. Tive que encontrar esta opção do site http://johnnyroot.wordpress.com/category/centos/

** [root@fenix tmp]# rpm -Uvh http://fedora.uib.no/epel/6/x86_64/epel-release-6-7.noarch.rpm
Obtendo http://fedora.uib.no/epel/6/x86_64/epel-release-6-7.noarch.rpm
Preparando... ########################################### [100%]
1:epel-release ########################################### [100%]

Precisamos também habilitar o repositório Remi RPM  que contem o pacote php-fpm para instalarmos depois.




rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum install yum-priorities



Edite o arquivo /etc/yum.repos.d/epel.repo e o /etc/yum.repos.d/remi.repo...
... e adcione a linha “priority=10”.

Então vamos atualizar !

yum update

Agora vamos instalar alguns pacotes de software que serão necessários mais tarde

yum groupinstall 'Development Tools'
 
** Pausa para um café e olhar o facebook...




8 - Quota


Se você tiver escolhido um esquema de particionamento diferente do que eu fiz, você deve ajustar esta parte de uma forma que o pacote quota se aplique para as partições onde é necessário.


Para instalar o pacote, rode este comando:

yum install quota

Edite /etc/fstab e adcione no arquivo /etc/fstab depois de /dev/mapper/vg_server1-lv_root /
,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0  1 1

Rode estes comandos:

mount -o remount /
quotacheck -avugm
quotaon -avug

Para habilitar as cotas.

9 - Sincronizar o relógio com o mundo (virtual ou não).
É uma boa idéia para sincronizar o relógio do sistema com um servidor NTP (Network Time Protocol) através da Internet. basta executar

yum install ntp

E a estará sincronizado.


10 – Instalar o MySQL


Instale desta forma.

yum install mysql mysql-server

Em seguida, criar o sistema de links paran a inicialização do MySQL e iniciá-lo:

chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start

Definir as senhas do mysql

mysql_secure_installation


[root@server1 tmp]# mysql_secure_installation




NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!


In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n]
 <-- nbsp="" span="">
New password: <-- nbsp="" span="" yourrootsqlpassword="">
Re-enter new password: <-- nbsp="" span="" yourrootsqlpassword="">
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n]
 <-- nbsp="" span="">
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n]
 <-- nbsp="" span="">
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n]
 <-- nbsp="" span="">
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n]
 <-- nbsp="" span="">
 ... Success!

Cleaning up...



All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!


[root@server1 tmp]#


10 – Instalar o Courier-IMAP, Courier-Authlib e Maildrop.


Infelizmente não existem pacotes rpm para eles portanto, temos que, construí-los nós mesmos.
Primeiro retire o dovecot

yum remove dovecot dovecot-mysql

Em seguida instale os pré-requisitos que precisamos para construir os pacotes rpm do Courier.

yum install rpm-build gcc mysql-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel libidn-devel

Pacotes rpm não devem ser construidos como como raiz; courier-imap vai recusar-se a compilar se detectar que está sendo executado como root. Portanto, crie uma conta de usuário comum (Falko neste exemplo) e senha.

useradd -m -s /bin/bash falko
passwd falko

Vamos precisar do comando sudo mais tarde para que o usuário Falko possa compilar e instalar os pacotes rpm. Mas, primeiro, temos de permitir que Falko possa executar todos os comandos usando o sudo.

Run (execute o comando)

visudo

Com o arquivo aberto, existe a linha de root desta forma:
root ALL = (ALL) ALL
Adcione uma linha semelhante para falko logo abaixo dela.

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
falko   ALL=(ALL)       ALL
[...]

Agora estamos prontos para contruirmos nosso pacote rpm. Torne-se usuário falko.

su falko



Vamos criar em seguida o ambiente de compilação:

mkdir $HOME/rpm
mkdir $HOME/rpm/SOURCES
mkdir $HOME/rpm/SPECS
mkdir $HOME/rpm/BUILD
mkdir $HOME/rpm/BUILDROOT
mkdir $HOME/rpm/SRPMS
mkdir $HOME/rpm/RPMS
mkdir $HOME/rpm/RPMS/i386
mkdir $HOME/rpm/RPMS/x86_64

echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros

Agora vamos criar o diretório de downloads e baixar os arquivos de http://www.courier-mta.org/download.php:

mkdir $HOME/downloads
cd $HOME/downloads

wget --no-check-certificate https://sourceforge.net/projects/courier/files/authlib/0.64.0/courier-authlib-0.64.0.tar.bz2/download
wget --no-check-certificate https://sourceforge.net/projects/courier/files/imap/4.9.3/courier-imap-4.9.3.tar.bz2/download
wget --no-check-certificate https://sourceforge.net/projects/courier/files/maildrop/2.5.5/maildrop-2.5.5.tar.bz2/download

(Por favor, notem que eu uso o Courier-IMAP 4.9.3 aqui em vez do mais recente 4.10.0 4.10.0 porque depende systemctl que existe para o Fedora e não para o CentOS).

Agora (ainda em $HOME/downloads), podemos construir o courier-authlib.

sudo rpmbuild -ta courier-authlib-0.64.0.tar.bz2

Após o processo de compilação, os pacotes podem ser encontrados em /root/rpmbuild/RPMS/x86_64 (/ root/rpmbuild/RPMS/i686 se você estiver em um sistema i686).
O comando:

sudo ls -l /root/rpmbuild/RPMS/x86_64

Mostra todos os pacotes rpm's disponíveis.

[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 524
-rw-r--r-- 1 root root 125304 Jul 11 19:09 courier-authlib-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 263700 Jul 11 19:09 courier-authlib-debuginfo-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  37804 Jul 11 19:09 courier-authlib-devel-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  17264 Jul 11 19:09 courier-authlib-ldap-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  13864 Jul 11 19:09 courier-authlib-mysql-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  13004 Jul 11 19:09 courier-authlib-pgsql-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root   8240 Jul 11 19:09 courier-authlib-pipe-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  34644 Jul 11 19:09 courier-authlib-userdb-0.64.0-1.el6.x86_64.rpm
[falko@server1 downloads]$

Selecione aqueles que você deseja instalar, e os instale assim:

sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/courier-authlib-0.64.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.64.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.64.0-1.el6.x86_64.rpm

Vamos voltar ao diretórios de downloads.

cd $HOME/downloads

Execute os seguintes comandos para criar os diretórios necessários e alterar as permissões de diretório (porque caso contrário o processo de construção para o Courier-Imap irá falhar):

sudo mkdir -p /var/cache/ccache/tmp
sudo chmod o+rwx /var/cache/ccache/
sudo chmod 777 /var/cache/ccache/tmp

Agora execute novamente o rpmbuild, desta vez sem usar o sudo, caso contrário, a compilação irá falhar porque antes foi executado como root:

rpmbuild -ta courier-imap-4.9.3.tar.bz2

Após o processo de compilação, os pacotes podem ser encontrados em $HOME/rpm/RPMS/x86_64 ($ HOME/rpm/RPMS/i686 se você estiver em um sistema i686).

cd $HOME/rpm/RPMS/x86_64

O comando

ls -l

Mostra todos os pacotes rpm's disponíveis.

[falko@server1 x86_64]$ ls -l
total 1108
-rw-rw-r-- 1 falko falko 331736 Jul 12 15:17 courier-imap-4.9.3-1.x86_64.rpm
-rw-rw-r-- 1 falko falko 800664 Jul 12 15:17 courier-imap-debuginfo-4.9.3-1.x86_64.rpm
[falko@server1 x86_64]$

Você pode instalar o courier-imap desta forma:

sudo rpm -ivh courier-imap-4.9.3-1.x86_64.rpm


sábado, agosto 17, 2013

Mensagem 'A start job is running...' atrasando o login.

Depois de atualizar para o Fedora 19, vi que durante a inicialização as seguintes mensagens aumentaram o tempo de boot causando um atraso no login.

(1 of 4) A start job is running for firewalld - dynamic firewall daemon

(2 of 4) A start job is running for Wait for Plymouth Boot Screen to Quit

(3 of 4) A start job is running for LSB: Automatically install DKMS modules for new kernels

(4 of 4) A start job is running for Accounts Service

Failed to start Wait for Plymouth Boot Screen to Quit.
See 'systemctl status plymouth-quit-wait.service' for details ...


Como o tempo de boot aumentou bastante eu resolvi procurar saber. O problema é o systemd journal. No fedora 19, o journal é ativado por padrão. Se você renomear o  /var/log/journal para /var/log/journal.org  o computador será iniciado com mais velocidade.

Eu ainda não tenho certeza se com várias inicializações depois disto o problema irá continuar. Talvez seja um bug do systemd mas resolvi assim. Ou é apenas um paliativo.

Até mais.

terça-feira, fevereiro 19, 2013

Problemas com o HTTPD (Apache) no fedora 18 64 bits

Estava eu querendo usar um servidor local no fedora e não sabia que sem o named (Bind) configurado não funcionaria pois é um server local no endereço 127.0.0.1. Se eu estiver errado me corrijam (pausa para acender um cigarro) mas consegui com poucos cliques resolver a situação que segue conforme vou demonstrar.

Este foi o pedido de ajuda (e a resolução) a comunidade não oficial do fedora :

http://www.fedora.org.br/post42506.html#42506

quarta-feira, janeiro 23, 2013

Gnome-screensaver X xscreensaver

Estava eu colocando meu Fedora 18 em ordem quando me deparei com a velha frase do XscreenSaver quando se utiliza o Gnome 3 e o gnome-screensaver.
Quando se tenta rodar o "Xscreen", o "gnomescreen" não deixa então, basta apenas desinstalar o gnome-screensaver.
Dica boa para os "fedoras".
Aquela mensagem de que o xscreensaver não iniciou no monitor 0:.

segunda-feira, janeiro 14, 2013

Servidor com CentOS

Ainda está sendo feito mas já quero opiniões.


Tutorial traduzido.
Inicio 11/01/2013 – 19hs e 54min.

Traduzido do HowtoForge.com
Título original:
The Perfect Server - CentOS 6.3 x86_64 (nginx, Courier, ISPConfig 3)
O servidor perfeito - ...”

Assim como ele diz; “I do not issue any guarantee that this will work for you!”.
Traduzo : Não dou qualquer garantia que isso irá funcionar para você! **(nem eu !).

Comentário pessoal estará com ** antes.
Comentário do autor estará com * antes.
Comandos não serão traduzidos por motivos óbvios.
Enquanto traduzo estarei com a “mão na massa”.
Existem as telas mas não as colocarei aqui, basta ir para o original no HowtoForge.com.

ISPConfig 3 Manual

In order to learn how to use ISPConfig 3, I strongly recommend to download the ISPConfig 3 Manual.
On more than 300 pages, it covers the concept behind ISPConfig (admin, resellers, clients), explains how to install and update ISPConfig 3, includes a reference for all forms and form fields in ISPConfig together with examples of valid inputs, and provides tutorials for the most common tasks in ISPConfig 3. It also lines out how to make your server more secure and comes with a troubleshooting section at the end.
 

ISPConfig Monitor App For Android

With the ISPConfig Monitor App, you can check your server status and find out if all services are running as expected. You can check TCP and UDP ports and ping your servers. In addition to that you can use this app to request details from servers that have ISPConfig installed (please note that the minimum installed ISPConfig 3 version with support for the ISPConfig Monitor App is 3.0.3.3!); these details include everything you know from the Monitor module in the ISPConfig Control Panel (e.g. services, mail and system logs, mail queue, CPU and memory info, disk usage, quota, OS details, RKHunter log, etc.), and of course, as ISPConfig is multiserver-capable, you can check all servers that are controlled from your ISPConfig master server.
For download and usage instructions, please visit http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.
 
** Esta parte eu não irei traduzir por que acho que cabe a cada pessoa ler en entender.

** Vamos ao início então ?!

1 - Requisitos

Para instalar este sistema você vai precisar do seguinte:

Pausa as 20hs e 42min por causa do facemash.com ...

2 - Nota preliminar.

* “Neste tutorial eu uso o hostname (nome da máquina) 'server1.example.com' e o endereço IP 192.168.0.100 com o gateway (porta de entrada) 192.168.0.1. Estas configurações podem ser diferentes para você então, substituas conforme necessárias.”

3 - Instale o sistema básico


Inicie com o primeiro DVD do CentOS 6.3 (DVD 1). Selecione “ Install or upgrade an existing system”.
** Na tela que segue onde pede para testar o DVD, fica a teu critério mas eu vou selecionar o “pulo” (Skip).
A tela de boas vindas de instalação do CentOS aparece. “Click on next” (**clique em próximo).
Escolha teu idioma para o processo de instalação e logo em seguida o idioma do teclado. E já vai estar em PT-Br. ** Vai em frente !
Supondo que você use uma unidade local de disco (hard drive) selecione Basic Storage Devices here:
que em portugues estará “Que tipo de dispositivos estarão envolvidos na sua instalação” e clique em avançar.
Neste ponto ele vai examinar os dispositivos de armazenamento, ou seja, o disco rígido.
Preencha o nome do servidor (por exemplo: servidor1.exemplo.com).
Em seguida, clique no botão Configurar Rede.
Vá para a tabela de rede cabeada, selecione a placa de rede ( provavelmente a eth0) e clique em editar.
Marque a checkbox 'conectar automaticamente' e vá para a aba IPV4 Settings e selecione 'manual' no menu drop down e coloque um, dois, ou três servidores de nomes (separados por vírgulas) no campo Servidores de DNS (e.g. 8.8.8.8,8.8.4.4), Agora dê a sua placa de rede um endereço IP estático e máscara de rede (neste tutorial estou usando o endereço IP 192.168.0.100 e máscara de rede 255.255.255.0 para fins de demonstração, se você não tem certeza sobre os valores corretos, vá em (http://www. subnetmask.info poderá ajudá-lo). Também preencha o seu gateway (192.168.0.1 por exemplo) e clique em Aplicar.
Selecione a localidade e coloque a senha de root.
Em seguida, vamos fazer o particionamento. Selecione Substituir sistema linux existente. Isto lhe dará uma pequena partição “/boot” e uma partição “/” grande que é bom para os nossos propósitos.
Selecione gravar alterações no disco.
Agora vamos selecionar o tipo de instalação, selecione Servidor Básico e em seguida, se já não estiver, marque o campo de repositórios o CentOS em adicionais, escolha Personalizar depois e clique em Avançar.

... ... ... processo de instalação ... ... ...

Finalmente, a instalação está completa, e você pode remover seu DVD do computador e reiniciá-lo.

... ...

Depois de reiniciar, logue-se como root
Eu quero instalar o ISPConfig no final deste tutorial que vem com seu próprio firewall, então vamos desativar o firewall padrão do CentOS agora. É claro, você é livre para deixar-lo e configurá-lo para as suas necessidades (mas então você não deve usar qualquer outro firewall depois porque provavelmente ira interferir com o firewall CentOS).
Rode ...
Run...

system-config-firewall-tui

... e desative o firewall e confirme tua escolha selecionando “sim”.

Se você não configurou a placa de rede durante a instalação , você pode fazer isso agora rodando...

Run...
system-config-network
... e vá para configuração do despositivo:

Selecione a tua placa de rede e em seguida preencha os detalhes da tua rede.
desativar o DHCP e preencher um endereço de IP estático, uma máscara de rede, o gateway, e um ou dois nomes, em seguida, clicar em OK:
Agora você pode adcionar os DNS's adcionais e pronto ! Clicar em OK.
Depois clique em salvar e sair...
Você deve rodar o “ifconfig” para verificar se o instalador configurou o seu endereço IP correto.

ifconfig

Verifique se o instalador fez seu trabalho corretamente.

** Dependendo da tua escolha, a saída terá um resultado diferente deste.

[root@server1 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:00:85:AC
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe00:85ac/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:278 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:28503 (27.8 KiB)  TX bytes:16360 (15.9 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

[root@server1 ~]#

** Vamos continuar ...

Verifique se o seu arquivo “/etc/resolv.conf” esta com os DNS's que você informou.

cat /etc/resolv.conf

Se não estiverem configurados rode novamente:

system-config-network

E adcione-os então.

Vamos a configuração ...