Inicio > desarrollo > Configurar CentOS 6.2 para desarrollo web

Configurar CentOS 6.2 para desarrollo web

Fuente: http://otroblogmas.com/configurar-centos-6-2-para-desarrollo-web/

Después de descargar y instalar la última versión de CentOS, hay que instalar y configurar una serie de paquetes. Se calcula que se han activado dos dispositivos de red: un adaptador puente, y un adaptador sólo-anfitrión. Si se quiere configurar los adaptadores de red, hay que crear unos archivos:

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
HWADDR=08:00:27:b4:d7:97
PEERDNS=yes
vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
BROADCAST=192.168.56.255
IPADDR=192.168.56.101
NETMASK=255.255.255.0
NETWORK=192.168.56.0
HWADDR=08:00:27:07:19:1c
TYPE=Ethernet
GATEWAY=192.168.56.1
IPV6INIT=no
USERCTL=no

Tambien esta el asistente que puede ayudar:

system-config-network

Y para poder trabajar más cómodos, configuraremos el servidor de SSH para que este activo desde el arranque:

chkconfig --levels 235 sshd on

Hay una herramienta interactiva para seleccionar que servicios arrancar o no en el inicio del sistema:

ntsysv

Ahora, una vez conectados por SSH, primero una actualización completa:

yum update -y

Instalación de componentes necesarios para instalar “Guest Additions”:

yum -y install \
gcc \
make \
kernel-headers \
kernel-devel

Instalación de “Guest Additions”. Seleccionar la opción del menú y seguir los siguientes comandos:

mkdir /media/VirtualBoxGuestAdditions
mount -r /dev/cdrom /media/VirtualBoxGuestAdditions
cd /media/VirtualBoxGuestAdditions
./VBoxLinuxAdditions.run

Añadiendo repositorios y actualizando ( último EPEL: http://mirror.uv.es/mirror/fedora-epel/6/i386/repoview/epel-release.html):

rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

yum upgrade

Editar el fichero /etc/yum.repos.d/remi.repo, para cambiar el valor de enable, y añadir la prioridad al final de la sección de [remi]:

enable=1
priority=3

Instalando todos los componentes necesarios:

yum install -y \
php \
php-common \
php-gd \
php-cli \
php-mysql \
php-devel \
php-mbstring \
php-xml \
php-pdo \
php-mssql \
php-mcrypt \
php-process \
php-intl \
mysql-server \
mysql \
samba \
htop \
git \
tig \
subversion \
gettext \
memcached \
java-1.6.0-openjdk \
php-pear \
php-pear-phing \
php-pecl-xdebug \
php-pecl-apc \
php-pecl-memcache \
php-pecl-memcached \
zlib-devel \
tree
pecl upgrade-all
pear upgrade-all

Para instalar Subversion 1.7:

wget http://svn-ref.assembla.com/svn-clients/SVN_1.7.2_clients/CentOS-6-Subversion%201.7.2_client-64bit.rpm
yum localinstall --nogpgcheck CentOS-6-Subversion\ 1.7.2_client-64bit.rpm

Habilitando para que arranque desde inicio Apache, MySQL y Samba:

chkconfig --levels 235 mysqld on
chkconfig --levels 235 httpd on
chkconfig --levels 235 smb on

Deshabilitando el firewall IPTables:

chkconfig iptables off

Dar permisos al usuario de Apache para el directorio Document Root:

chown apache.apache /var/www/html/

Crear un usuario para desarrollar:

useradd developer -g apache -N
passwd developer
smbpasswd -a developer

Para darle permisos para ejecutar comando como root, hay que añadir la siguiente línea en el fichero /etc/sudoers:

developer      ALL=(ALL)       NOPASSWD: ALL

Para crear carpetas compartidas, se puede utilitzar la opción que da VirtualBox, o a través de Samba.

Configuración de Samba para poder acceder desde Windows. Modificar el archivo /etc/samba/smb.cnf y añadir:

[html]
    comment = WWW
    path = /var/www/html
    read only = no
    guest ok = no
    browseable = yes
    valid users = developer
    create mask = 0644
    force create mode = 0600
    security mask = 0555
    force security mode = 0600
[pear]
    comment = PEAR
    path = /usr/share/pear
    read only = yes
    guest ok = yes
    browseable = yes

Un posible problema es que este el firewall activado. A parte de desactivar el IPTABLES, hay que poner en modo permisivo el SElinux:

vim /etc/selinux/config
SELINUX=permissive

Y posteriormente reiniciar el servidor.

Para configurar las carpetas compartidas de VirtualBox, hay que crear las carpetas que se quieran ( por ejemplo html y home) con el checkbox “Hacer permanente”, pero no marcar la opción de montado automático, ya que sino nos creará las carpetas automáticamente en /media en el próximo reinicio. Una vez creadas las carpetas en el host, hay que ejecutar los siguientes comandos para montar las carpetas en el guest:

mount -t vboxsf html /var/www/html
mount -t vboxsf home /home/developer

Una vez comprobado que funciona, hay que automatizar el montado. Para ello hay que editar el fichero /etc/fstab y añadir las siguientes líneas:

home                    /home/developer         vboxsf  defaults,uid=developer,gid=apache        0 0
html                    /var/www/html           vboxsf  defaults,uid=developer,gid=apache        0 0

Respecto MySQL, se puede ejecutar el asistente “mysql_secure_installation“.  O también se puede realizar manual.

Asignar password al usuario ‘root’ de MySQL:

mysqladmin -u root password 12345678

Consultar los usuarios creados en MySQL, para eliminar los usuarios que no queramos:

SELECT user, host FROM mysql.user;
DROP USER ''@'localhost';
DROP USER ''@'localhost.localdomain';
DROP USER 'root'@'localhost.localdomain';
DROP USER 'root'@'::1';
DROP USER 'root'@'127.0.0.1';

Crear el usuario para acceder desde fuera de la máquina:

CREATE USER 'root'@'%' IDENTIFIED BY '12345678';
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;

En el fichero /etc/my.cnf añadiremos parámetros para establecer todo en UTF8:

[mysqld]
log_slow_queries=/var/log/mysqld.slow.log
long_query_time=2

init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_general_ci

[mysql]
default-character-set=utf8

Cambiar parámetros en la configuración de Apache, en el fichero /etc/httpd/conf/httpd.conf:

KeepAlive On
NameVirtualHost *:80

Crear un virtualhost por defecto, para las peticiones que no estan encaminadas. Crear un fichero en /etc/httpd/conf.d/_default.conf:

    DocumentRoot /var/www/html/default/httpdocs
    ServerName example.com

    ErrorLog  /var/www/html/default/logs/error.log
    CustomLog "|/usr/sbin/rotatelogs /var/www/html/default/logs/access-%Y-%m-%d.log 86400" common

Cambiar parámetros en la configuración de PHP, en el fichero /etc/php.ini:

memory_limit = 128Mb
error_reporting = E_ALL | E_STRICT
display_errors = On
html_errors = On
date.timezone = Europe/Madrid
expose_php = Off

Cambiar parámetros en la configuración de XDebug, en el fichero /etc/php.d/xdebug.ini:

xdebug.dump.GET = *
xdebug.dump.POST = *
xdebug.dump.SERVER = REMOTE_ADDR, REQUEST_METHOD, SCRIPT_FILENAME, QUERY_STRING
xdebug.dump.SESSION = *

xdebug.cli_color = 1

xdebug.collect_params = 4
xdebug.collect_return = On

xdebug.var_display_max_children = 300
xdebug.var_display_max_data = 1000
xdebug.var_display_max_depth = 7

;xdebug.show_local_vars = On

xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

xdebug.auto_trace = Off
xdebug.trace_format = 2

xdebug.scream = On

xdebug.profiler_enable = Off
xdebug.profiler_output_name = cachegrind.out.%H.%t.xt

Modificar el comportamiento de Vim, editando el archivo ~/.vimrc:

:set number
:set tabstop=4
:set shiftwidth=4
:set expandtab
:set fileencodings=utf-8
:set incsearch

Añadir alias y configuraciones a Git, editando el archivo ~/.gitconfig:

[core]
    autocrlf = input

[alias]
    co = checkout
    ci = commit
    st = status
    br = branch
    h = log --graph --date=iso --pretty=format:'%Cgreen%h%Creset %Cblue%ad%Creset | %s%Cgreen%d%Creset %C(yellow)[%an]%Creset'
    ha = log --graph --date=iso --all --pretty=format:'%Cgreen%h%Creset %Cblue%ad%Creset | %s%Cgreen%d%Creset %C(yellow)[%an]%Creset'
    hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
    type = cat-file -t
    dump = cat-file -p
    df = diff
    dfs = diff --staged
    pr = pull --rebase
    save = stash save
    savem = stash save --keep-index
    recover = stash pop --index
    recoverf = !git stash show -p | git apply && git stash drop
    undo = reset --hard

[color]
    ui = auto

Crear unos alias personalizados, editando el fichero ~/.bashrc:

alias docroot="cd /var/www/html"
alias virhosts="cd /etc/httpd/conf.d"

alias rsthttpd="sudo service httpd restart"
alias rstmysqld="sudo service mysqld restart"

umask 0002

Crear un virtualhost por defecto, para las peticiones que vayan a hosts que no tenemos controlados. Crear el archivo /etc/httpd/conf.d/_default.conf:

    DocumentRoot /var/www/html/default/httpdocs
    ServerName example.com

    ErrorLog  /var/www/html/default/logs/error.log
    CustomLog /var/www/html/default/logs/access.log common

Faltaría crear las carpetas /var/www/html/default/logs,  /var/www/html/default/httpdocs y un fichero  /var/www/html/default/httpdocs/index.php con un mensaje.

Para los demás VirtualHosts, crearemos un fichero en /etc/httpd/conf.d

    DocumentRoot /var/www/html/otroblogmas.com/httpdocs
    ServerName otroblogmas.com
    ServerAlias www.otroblogmas.com

    SetEnv APPLICATION_ENV "development"
    ErrorLog  /var/www/html/otroblogmas.com/logs/error.log
    CustomLog "|/usr/sbin/rotatelogs /var/www/html/otroblogmas.com/logs/access-%Y-%m-%d.log 86400" common

Entradas relacionadas:

Categorías:desarrollo Etiquetas: , ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: