KOINS.Studio - Articles - Инсталляция и настройка программ - Настройка серверов office.1024.info

Настройка серверов office.1024.info

  • Начальная настройка:

    Дистрибутив: CentOS-6.5. Версия ядра: 2.6.32. Тип установки: Basic server.

    Разбиение дисков:
    part.jpg

    Устанавливаем дополнительные пакеты:
    • EPEL:yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    • Memcachedyum install memcached
    Разрешаем серверу синхронизироваться во времени

        chkconfig ntpd on
        /etc/init.d/ntpd start


    После установки используем инструкцию https://dev.1024.info/ru-default/text/install/amazon/new.html

  • Удалённое управление и безопасность

  • Генерируем ключ используя pyttygen.exe:

    Conversions -> Generate key pair -> Дёргать мышью в окне puttyen.

    Не выходя из pyttygen, жмём кнопку Save public key, сохраняем.
    Не выходя из pyttygen, жмём кнопку Save private key, сохраняем.

  • SSH Сервер

Сервер необходимо настроить так, что бы авторизация была только по ключу, а протокол использовался только ssh v2.
    
    Для этого, в домашнем каталоге пользователя,  создадим файл

/root/.ssh/authorized_keys

в который добавим сгенерированный ранее ключ.
    
    В файле /etc/ssh/sshd_config удалим # и заменим значения:
    
    

    #GSSAPIAuthentication yes
    #GSSAPICleanupCredentials yes
    AllowUsers root compile wl control
    AuthorizedKeysFile %h/.ssh/authorized_keys
    ChallengeResponseAuthentication yes
    LoginGraceTime 180m
    LogLevel DEBUG
    MaxAuthTries 6
    MaxSessions 10
    PasswordAuthentication no
    PermitEmptyPasswords no
    PubkeyAuthentication yes
    RSAAuthentication yes
    UsePAM no
  • Настройка SSH клиента Linux

    Клиент необходимо настроить так, что бы при выполнении команды ssh [servername] без дополнительной вводимой информации, по ключу, с любого сервера можно было подключиться к каждому из серверов.

    Для этого, в домашнем каталоге пользователя,  создадим файл /root/.ssh/identity в который добавим текст из публичного ключа, сгенерированного ранее.

    Не забываем в каталоге .ssh выполнить командуchmod 600 *

    В файле /etc/ssh/ssh_config удалим # и заменим значения:

        RSAAuthentication yes
        PasswordAuthentication yes
        GSSAPIAuthentication no
        GSSAPIDelegateCredentials no
        GSSAPIKeyExchange no
        GSSAPITrustDNS no
        IdentityFile ~/.ssh/identity
        Port 14822
        Protocol 2
  • Фаервол

    К серверу должны быть открыты только 2 порта: SSH и HTTP.

    Для этого, в файле /etc/sysconfig/iptables заменяем / добавляем строки:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 54321 -j ACCEPT

    Соответственно 80 и 54321 порт http (стандартный) и порт, который вы назначили SSH серверу.

  • Selinux

    Selinux - это реализация системы принудительного контроля доступа.  В Centos он активирован по умолчанию. Для интернет серверов, я очень рекомендую его включать. Однако для «домашнего» тестового сервера, он излишен и будет создавать только неприятности. По этому, в данном случае, лучше его отключить.

    Для этого, В файле /etc/selinux/config строку SELINUX=enforcing меняем наSELINUX=disabled

    .

После настройки безопасности, перезагрузиться.

  

Для подключения из Windows используем инструкцию https://dev.1024.info/ru-default/text/install/putty.html

  • Установка и настройка PHP
    • Для установки php apc выполняем:

      yum install php-pear php-devel httpd-devel php-pecl-apc php-mcrypt php-domxml
    • Для установки php ssh2 выполняем:

      pecl install ssh2
    • Используем инструкцию https://dev.1024.info/ru-default/text/install/php.html или
      • Изменяем файл /etc/php.ini

            memory_limit = 512M
            error_log = “/home/  . . .  /php.log”
            realpath_cache_size = 256K
            realpath_cache_ttl = 32767
            max_execution_time = 300
      • Изменяем файл /etc/php.d/apc.ini

            apc.num_files_hint=4096
            apc.enable_cli=0
            apc.stat=0
            apc.canonicalize=0
            apc.shm_size=128M
            apc.ttl=3600
            apc.user_entries_hint=8192
            apc.user_ttl=600
            apc.write_lock=1
      • Настройка каталогов пользователей
        • Создаём каталог для виртуальных серверовmkdir /etc/httpd/vhosts.d/
        • Редактируем основной конфинурационный файл вервера/etc/httpd/conf/httpd.conf:

              NameVirtualHost *:801
              Include /etc/httpd/conf/default.conf
              Include /etc/httpd/vhosts.d/*.conf
        • Определяем настройки сервера по умолчанию/etc/httpd/conf/default.conf

              <VirtualHost *:80>
                  ServerName control
                  DocumentRoot /home/control/public_html
                  ErrorLog /home/control/.apache/error.log
                  CustomLog /home/control/.apache/access.log combined
                  #CustomLog /dev/null combined
                  DirectoryIndex index.html index.php
                  <Directory /home/control/public_html>
                      Options -Indexes +IncludesNOEXEC +FollowSymLinks +ExecCGI
                      Allow from 127.0.0.1
                      AllowOverride None
                  </Directory>
              </VirtualHost>
      • Установка PHP_RAR
        • Установка дополнительных модулей:

          yum install gcc-c++
        • Установка php_rar:

          pecl -v install rar
        • Создадим конфигурационный файл:
          echo "extension=rar.so" > /etc/php.d/rar.ini
      • Запуск PHP и установка в автозагрузку

            service httpd start
            chkconfig php on
  • Установка и настрйка MySQL

    Используем инструкцию http://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/linux-installation-yum-repo.html или
    • Установка

      Для установки версий MySQL отличных от имеющихся в репозиториях, необходимо скачать с сайта MySQL rpm пакет необходимой версии и установить его. Например, для версии 5.6.16 el6 мы использовали следующие команды:

          wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-5.6.16-1.el6.i686.rpm-bundle.tar
          tar -xvf MySQL-5.6.16-1.el6.i686.rpm-bundle.tar
          yum install <Всё что распаковалось>


      1 строка - скачиване пакета, 2 - распаковка, 3 - установка.

      Также рекомендую ознакомиться с инструкцией: https://dev.1024.info/ru-default/text/install/amazon/mysql.html

    • Настройка

      Редактируем файл/etc/my.cnf

          [client]
          port=35072

          [mysqld]
          port=35072
          max_connections=100

          query_cache_type=1
          query_cache_size=134217728
          innodb_stats_on_metadata=0
          innodb_flush_log_at_trx_commit=0
          innodb_flush_log_at_timeout=60
          innodb_support_xa=false
          key_buffer_size=64M
          sort_buffer_size=4M
          read_buffer_size=1M
    • Запуск MySQL и установка в автозагрузку

          service mysql start
          chkconfig mysql on
    • Настройка безопасности

      /usr/bin/mysql_secure_installation
    • Загрузка таблиц часовых поясов:

      mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
  • Не обязательно:
    • Для удобства в файл /etc/hosts добавим:

          192.168.1.91 s1 s1.office.1024.info
          192.168.1.92 s2 s2.office.1024.info
          192.168.1.93 s3 s3.office.1024.info
          192.168.1.94 s4 s4.office.1024.info
          192.168.1.95 s5 s5.office.1024.info
    • Экспресс установка:

      Скопировать весь блок в консоль, выполнить, курить, по завершении настроить файлы конфигурации.

          wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-5.6.19-1.el6.i686.rpm-bundle.tar && \
          tar xvf MySQL-5.6.19-1.el6.i686.rpm-bundle.tar && \
          yum install \
          gcc \
          http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm \
          httpd-devel \
          libssh2-devel \
          mc \
          php \
          php-bcmath \
          php-common \
          php-devel \
          php-domxml \
          php-gd \
          php-mcrypt \
          php-mbstring \
          php-mysql \
          php-pear \
          php-pecl-apc \
          php-pecl-memcache \
          php-process \
          php-tidy \
          MySQL-client-5.6.19-1.el6.i686.rpm \
          MySQL-devel-5.6.19-1.el6.i686.rpm \
          MySQL-shared-5.6.19-1.el6.i686.rpm \
          MySQL-shared-compat-5.6.19-1.el6.i686.rpm \
          MySQL-test-5.6.19-1.el6.i686.rpm \
          MySQL-embedded-5.6.19-1.el6.i686.rpm \
          MySQL-server-5.6.19-1.el6.i686.rpm
          && pecl install ssh2 channel://pecl.php.net/ssh2-0.12


      Затем

          mkdir /etc/httpd/vhosts.d/ && \
          \
          echo -e "\
          NameVirtualHost *:80\n\
          Include /etc/httpd/conf/default.conf\n\
          Include /etc/httpd/vhosts.d/*.conf\n"\
          >>/etc/httpd/conf/httpd.conf && \
          \
          echo -e "\
          <VirtualHost *:80>\n\
            ServerName control\n\
            DocumentRoot /home/control/public_html\n\
            ErrorLog /home/control/.apache/error.log\n\
            CustomLog /home/control/.apache/access.log combined\n\
            #CustomLog /dev/null combined\n\
            DirectoryIndex index.html index.php\n\
            <Directory /home/control/public_html>\n\
              Options -Indexes +IncludesNOEXEC +FollowSymLinks +ExecCGI\n\
              Allow from 127.0.0.1\n\
              AllowOverride None\n\
            </Directory>\n\
          </VirtualHost>\n"\
          >>/etc/httpd/conf/default.conf && \
          \
          echo -e "\
          [client]\n\
          port=35072\n\n\
          [mysqld]\n\
          port=35072\n\n\n\
          max_connections=100\n\
          query_cache_type=1\n\
          query_cache_size=134217728\n\
          innodb_stats_on_metadata=0\n\
          innodb_flush_log_at_trx_commit=0\n\
          innodb_flush_log_at_timeout=60\n\
          innodb_support_xa=false\n\
          key_buffer_size=64M\n\
          sort_buffer_size=4M\n\
          read_buffer_size=1M\n"\
          >>/etc/my.cnf && \
          \
          echo "umask 027" > /etc/profile.d/umask.sh && chmod +x /etc/profile.d/umask.sh && \
          \
          echo -e "\
          192.168.1.91   s1 s1.office.1024.info\n\
          192.168.1.92   s2 s2.office.1024.info\n\
          192.168.1.93   s3 s3.office.1024.info\n\
          192.168.1.94   s4 s4.office.1024.info\n\
          192.168.1.95   s5 s5.office.1024.info\n"\
          >>/etc/hosts && \
          \
          chkconfig httpd on && \
          chkconfig mysql on && \
          chkconfig ntpd on && \
          \
          mkdir /root/.ssh && \
          touch /root/.ssh/authorized_keys && \
          echo "no-port-forwarding,no-agent-forwarding,no-X11-forwarding ssh-rsa  . . .  rsa-key-123456789" >> /root/.ssh/authorized_keys && \
          \
          touch /root/.ssh/identity && \
          echo -e "\
          -----BEGIN RSA PRIVATE KEY-----\n\
          ...............................\n\
          -----END RSA PRIVATE KEY-----\n"\
          >>/root/.ssh/identity



      Затем настройка (копирование) конфигурационных файлов.

  • Работа с графикой.

    Вводим в консоли командуvncserver :1

    Качаем программу: http://www.uvnc.com/downloads/ultravnc.html и устанавливаем.
    В поле VNCServer вводим IP адрес сервера и порт (5901)
    Connect/

Смотрите также

Содержание

Add a new testing server to an existing cluster
Upgrade php 5.5 to php 7.0
Setting Wake-on-LAN feature
Upgrade php 5.3 to php 5.5

Last modification: 21.11.14 04:23