Как открыть 80 порт в iptables CentOS

По умолчанию блокируется подключения на 80-й порт правилами iptables.
Меняем правила для iptables
/etc/sysconfig/iptables
Добавляем запись
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

Сохраняем и перезагружаем iptables
service iptables restart

Тоже самое можно сделать с любым портом.

Посмотреть какой порт необходимо открыть можно командой
service iptables stop
netstat -A inet -lnp

Смотрим на каком порту весит нужный нам сервис
service iptables start

Изменение имени сервера hostname (CentOS, Red Hat)

Изменение имени хоста — сервера нужно по идеологческим причинам :)

Иногда то помогает избежать конфликтов с DNS и избавиться от тормозов системы без видимых нагрузок. Вот команды:

Открываем файл /etc/sysconfig/network и редактируем HOSTNAME="www.example.com".

Далее выполняем команду

# hostname www.example.com

Потом открываем фал /etc/hosts и редактируем или добавляем если нет такой строки

127.0.0.1 example.com localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
212.154.200.220 example.com example

Вот и все, после данных операций сервер нужно перегрузить.
reboot

Установка Apache в CentOS и запуск. Демон httpd

Рассматривается вопрос первоначальной установки и запуска Apache в CentOS (Linux).
При установке CentOS с серверной конфигурацией демон httpd будет установлен автоматически.
В случае же отсутствия его, следует провести стандартный процесс инсталляции — yum install httpd
По умолчанию установленный демон не запущен и не стартует при запуске системы.
Первым делом требуется запустить Apache.
Запускаем службу httpd
service httpd start
service httpd stop — Остановка службы
service httpd restart — Перезагрузка службы

Добавляем службу в автозапуск
chkconfig httpd on

По умолчанию блокируется подключения на 80-й порт правилами iptables.
Меняем правила для iptables
/etc/sysconfig/iptables
Добавляем запись
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

Перезагружаем iptables
service iptables restart

Установка MySQL

Установка MySQL в CentOS

# yum -y install mysql-server

Добавляем сервис в автозагрузку

# chkconfig mysqld on
# chkconfig --list | grep mysql
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

Запускаем сервис

# service mysqld start

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

/usr/bin/mysqladmin -u root password 'new-password'

Устанавливаем пароль пользователю root:

# mysqladmin -u root password 'new-password'

Заходим под паролем:

# mysql -p

Конфигурационный файл /etc/my.cnf

Установка кодировки например cp1251 в секцию [mysqld] добавляем:

default-character-set=cp1251
init-connect='SET NAMES cp1251'

На собеседовании был вопрос про утерянный пароль MySQL :)
Неправильный ответ: сносить все нах
Правильный ответ : перезапуcтить mysql с опцией –skip-grant-tables

# service mysqld stop
# mysqld_safe --skip-grant-tables &
# mysql

mysql> UPDATE mysql.user SET Password=PASSWORD('MyNewPass')              WHERE User='root';
mysql> FLUSH PRIVILEGES;

# service mysqld restart

Создать дамп базы данных:

# mysqldump -uПользователь -pПароль_пользователя Название_базы_данных > Название_базы_ данных.sql

Развернуть дамп базы данных

# mysql uПользователь -pПароль_пользователя Название_базы_данных < Название_базы_ данных.sql

Проверка Базы данных выполняется командой:

mysqlcheck -pПароль_root Название_базы_ данных

Проверить на ошибки все MySQL базы данных:

mysqlcheck -pПароль_root -A

Отремонтировать все MySQLбазы данных:

mysqlcheck -pПароль_root -r

Оптимизировать все MySQL базы данных:

mysqlcheck  -pПароль_root -o

Обновление php до версии именно 5.2.17 на Centos

Часто требуется обновить php до версии именно 5.2.17 на Centos, не все еще перешли на php 5.3.X (связано с Zend Optimizer также). В различных репозиториях Centos уже находятся пакеты именно с php-5.3.X. Поведаю простой способ обновлять php до версии 5.2.17 с репозитория atomic и себе сделаю заметку заодно (хотя если забуду, скорее всего версия php 5.2.17 уже будет не актуальна :-) )

Итак, подключаем к нашему Centos репозиторий atomic:
wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh

он при этом просит подтвердить лицензию:

Do you agree to these terms? (yes/no) [Default: yes]

жмем Enter или набираем yes — готово. теперь в файл /etc/yum.repos.d/atomic.repo в секции [atomic] добавляем:
exclude=php*5.3.*

сохраняем файл и смело обновляем php:
yum update php && yum -y install php-mcrypt

или устанавливаем, если ставим впервые php на нужный север:
yum install php-cli php-common php-devel php php-mysql php-mcrypt php-pdo php-gd php-xml php-mbstring

ну вот собственно и все и у нас должен уже работать php 5.2.17, проверяем:

#php -v
PHP 5.2.17 (cli) (built: Jan 7 2011 08:49:48)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

Смотрим установленные модули

php -m

[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
filter
ftp
gd
gettext
gmp
hash
iconv
json
ldap
libxml
mbstring
mcrypt
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]