Como instalar Apache, PHP, MySQL, Phpmyadmin e MemCached no FreeBSD 7

Standard

Vamos começar instalando o Mysql.

Precisamos entrar na pasta do mysql:

cd /usr/ports/databases/mysql51-server

Vamos preparar a arquitetura de updates:

make BUILD_OPTIMIZED=yes BUILD_STATIC=yes

Na mesma pasta vamos instalar o mysql:

make install clean

Precisamos ativar o Mysql como serviço iniciado no momento do boot.
Para isto devemos adicionar ao final do arquivo /etc/rc.conf o seguinte:

mysql_enable=”YES”

Devemos agora copiar o arquivo default do mysql para a pasta de configurações e com o nome real:

cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf

Para iniciar o mysql recém instalado devemos rodar o seguinte:

/usr/local/etc/rc.d/mysql-server start

Precisamos definir agora a senha de root do mysql:

/usr/local/bin/mysqladmin -u root password ‘SUA NOVA SENHA AQUI’

Agora que o mysql está ultra instalado devemos focar no apache, iremos instalar a versão 2.2:

cd /usr/ports/www/apache22

Vamos instalar usando o seguinte comando dentro da pasta a qual entramos com o comando cd:

make install clean

Para garantir que o bixão rode corretamente no momento do boot devemos colocar no final do arquivo /etc/rc.conf a seguinte entrada:

apache22_enable=”YES”

E validaremos isto em outro arquivo também, o /boot/loader.conf, para colocarmos a seguinte entrada lá:

accf_http_load=YES

Agora iremos instalar o PHP5 no bendito. Para isto temos que entrar na pasta do port do php5:

cd /usr/ports/lang/php5

Executaremos a instalação:

make install clean

No caso das extensões do php5, para instalarmos qualquer extensão devemos seguir a seguinte sintaxe:

PDF-Lite (estamos tomando por exemplo aqui)

fetch ftp://ftp.swin.edu.au/gentoo/distfiles/PDFlib-Lite-7.0.2.tar.gz
sudo mv PDFlib-Lite-7.0.2.tar.gz /usr/ports/distfiles/

Agora vamos para o diretório de extensões do php5:

cd /usr/ports/lang/php5-extensions

Vamos ativar os recursos:

make install clean

Vamos criar o path do php.ini corretamente:

cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

Para validarmos o php como módulo do apache 2.2 precisamos adicionar as entradas do php. No fim do arquivo /usr/local/etc/apache22/httpd.conf devemos colocar isso aqui:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Devemos agora deixar o index.php como default nos diretórios raizes, para isto devemos trocar (no conf do apache ainda):
DirectoryIndex index.html
por
DirectoryIndex index.php index.html

Vamos editar o gestor de línguas do apache (o conf) /usr/local/etc/apache22/extra/httpd-languages.conf, no fim dele devemos colocar o seguinte:
AddDefaultCharset On

Para validarmos nossas mudanças devemos fazer o seguinte:
/usr/local/etc/rc.d/apache22 start
O comando acima vai reiniciar o apache, validando assim nossas mudanças.

Vamos instalar o Memcached, ultra ferramenta para o php. Usaremos o Pecl (addon do php):

cd /usr/ports/databases/pecl-memcache

Para instalarmos iremos rodar o comando abaixo:

make install clean

Iremos validar a instalação do Memcached:

cd /usr/ports/databases/memcached

make install clean

Vamos deixar o Freezão dar start quando inicializar, dentro do /etc/rc.conf devemos colocar:

memcached_enable=”YES”

E para finalizar toda a brincadeira:

/usr/local/bin/memcached -d -u nobody

Para metermos bala no phpmyadmin iremos fazer o seguinte:

cd /usr/ports/databases/phpmyadmin

Dentro da pasta acima temos de validar nossa instalação direto do port:

make install clean

O phpmyadmin em si já está instalado em seu FreeBSD, mas temos que fazer um Alias no apache para poder colocar a casa em ordem. Iremos fazer o seguinte dentro do conf do apache-> /usr/local/etc/apache22/httpd.conf:

Na sessão ->
Coloque o seguinte dentro dessa tag do apache:

Alias /phpmyadmin /usr/local/www/phpMyAdmin

E para deixar a coisa mais completa, dentro do apache devemos criar um directory para que o phpMyadmin esteja liberado para acesso web, para isto devemos fazer o seguinte:


Order allow,deny
Allow from all


Lembrando que o alis fica fora daí hein?
Vamos ativar o conf do phpmyadmin agora

cd /usr/local/www/phpMyAdmin
mkdir config
chmod 777 config

Vamos ativar nossas bagunças??? Devemos reiniciar o apache agora:

/usr/local/etc/rc.d/apache22 restart

Para setar seu phpmyadmin no fino grão você deverá abrir seu navegador com a seguinte sintaxe de endereço:

http://ip_do_FREEBSD/phpmyadmin/scripts/setup.php

Mude o Tipo de Autenticação para HTTP,
Delete o ROOT do User for config para autenticação,
Você pode deixar todo o resto e depois clicar em Add para adicionar o novo servidor.
Clicando em Save você vai salvar a configuração do phpmyadmin.

Vamos validar nosso conf:

cp config/config.inc.php .

Vamos deletar o arquivo desnecessário e dar permissões corretas e seguras ao conf e assim finalizaremos nosso How to:

rm -rf config
chmod 444 config.inc.php

Para acessar suas coisas web use a pasta: /usr/local/www/data/
E se quiser acessar o phpmyadmin use: http://IP_FREEBSD/phpmyadmin/

The end 😛

s

Instalando memcached de maneira simples no CentOs com CPANEL/WHM

Standard

E quem disse que precisa de pânico?

Siga os passos como root:

yum update -y && yum install libevent libevent-devel -y
yum install libevent-devel libevent gcc make -y
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar xvf memcached-1.4.5.tar.gz && cd memcached-1.4.5 && ./configure && make && make install

Inserindo valores no conf:

vim /etc/memcached.conf

Dentro do conf informe:

#Memory a usar
-m 16
# default port
-p 11211
# user to run daemon nobody/apache/www-data
-u nobody
# only listen locally
-l 127.0.0.1

criando scripts de inicialização:

touch /etc/init.d/memcached
dando permissões ao script:
chmod +x /etc/init.d/memcached

Abra o script /etc/init.d/memcached e insira nele:

#!/bin/bash
#
# memcached This shell script takes care of starting and stopping
# standalone memcached.
#
# chkconfig: - 80 12
# description: memcached is a high-performance, distributed memory
# object caching system, generic in nature, but
# intended for use in speeding up dynamic web
# applications by alleviating database load.
# processname: memcached
# config: /etc/memcached.conf
# Source function library.
. /etc/rc.d/init.d/functions
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/memcached
DAEMONBOOTSTRAP=/usr/local/bin/start-memcached
DAEMONCONF=/etc/memcached.conf
NAME=memcached
DESC=memcached
PIDFILE=/var/run/$NAME.pid
[ -x $DAEMON ] || exit 0
[ -x $DAEMONBOOTSTRAP ] || exit 0
RETVAL=0
start() {
echo -n $"Starting $DESC: "
daemon $DAEMONBOOTSTRAP $DAEMONCONF
RETVAL=$?
[ $RETVAL -eq 0 ] && touch $PIDFILE
echo
return $RETVAL
}
stop() {
echo -n $"Shutting down $DESC: "
killproc $NAME
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $PIDFILE
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $RETVAL

Criando script secundário:
touch /usr/local/bin/start-memcached
Dando permissões ao script:
chmod +x /usr/local/bin/start-memcached

Abra o script /usr/local/bin/start-memcached e dentro dele informe:


#!/usr/bin/perl -w
# start-memcached
# 2003/2004 - Jay Bonci
# This script handles the parsing of the /etc/memcached.conf file
# and was originally created for the Debian distribution.
# Anyone may use this little script under the same terms as
# memcached itself.
use strict;
if ($> != 0 and $< != 0) { print STDERR "Only root wants to run start-memcached.\n"; exit; } my $etcfile = shift || "/etc/memcached.conf"; my $params = []; my $etchandle; # This script assumes that memcached is located at /usr/bin/memcached, and # that the pidfile is writable at /var/run/memcached.pid my $memcached = "/usr/local/bin/memcached"; my $pidfile = "/var/run/memcached.pid"; # If we don't get a valid logfile parameter in the /etc/memcached.conf file, # we'll just throw away all of our in-daemon output. We need to re-tie it so # that non-bash shells will not hang on logout. Thanks to Michael Renner for # the tip my $fd_reopened = "/dev/null"; sub handle_logfile { my ($logfile) = @_; $fd_reopened = $logfile; } sub reopen_logfile { my ($logfile) = @_; open *STDERR, ">>$logfile";
open *STDOUT, ">>$logfile";
open *STDIN, ">>/dev/null";
$fd_reopened = $logfile;
}
# This is set up in place here to support other non -[a-z] directives
my $conf_directives = {
"logfile" => \&handle_logfile
};
if (open $etchandle, $etcfile) {
foreach my $line (<$etchandle>) {
$line =~ s/\#.*//go;
$line = join ' ', split ' ', $line;
next unless $line;
next if $line =~ /^\-[dh]/o;
if ($line =~ /^[^\-]/o) {
my ($directive, $arg) = $line =~ /^(.*?)\s+(.*)/;
$conf_directives->{$directive}->($arg);
next;
}
push @$params, $line;
}
}
unshift @$params, "-u root" unless (grep $_ eq '-u', @$params);
$params = join " ", @$params;
if (-e $pidfile) {
open PIDHANDLE, "$pidfile";
my $localpid = ;
close PIDHANDLE;
chomp $localpid;
if (-d "/proc/$localpid") {
print STDERR "memcached is already running.\n";
exit;
} else {
`rm -f $localpid`;
}
}
my $pid = fork();
if ($pid == 0) {
reopen_logfile($fd_reopened);
exec "$memcached $params";
exit(0);
} elsif (open PIDHANDLE,">$pidfile") {
print PIDHANDLE $pid;
close PIDHANDLE;
} else {
print STDERR "Can't write pidfile to $pidfile.\n";
}

Inicie o memcached:
/etc/init.d/memcached restart

Vamos setar o memcached para iniciar com o server:
/sbin/chkconfig memcached on

Agora vamos integrar pecl + memcached (parte do PHP):

wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar xvf memcache-2.2.5.tgz && cd memcache-2.2.5 && phpize && ./configure && make && make install

abra o arquivo php.ini global do server e vamos arrumar a muamba:

vim /usr/local/lib/php.ini

Procure pela parte de Extension e informe o seguinte:

extension=memcache.so

Reinicie o apache:

service httpd restart

Pronto, depois disso é so lazer.

Quer conferir?

vim teste.php
Dentro dele informe



php -f test.php | grep “memcache support”

A saída será:

memcache support => enabled

Fonte? Sim, os caras mais pauleiras de hosting que já vi (tirando Softlayer, é claro):

http://sudomakeinstall.com/linux-systems/install-memcached-to-cpanel