Готовим сервер к работе

W: GPG error: http://ftp2.de.debian.org lenny Release:

Устанавливалось на основе шаблона установки системы debian-5.0.3-i386-minimal>.

Задача: В короткий срок с рабочего сервера с минимальной комплектицией установленного софта сделать сервер, готовый удовлетворить нужды начинающего пользователя: ftp, apache2 с php5, phpmyadmin, mysql, perl, python.

Входим на сервер

1. Входим на сервер (например, с помощью putty)

Первые шаги (apt-get)

2. Первым делом стоит сделать apt-get update – пояснение ниже.

В Debian/Ubuntu система портов устроена на основе apt-get.

Простейшие команды apt-get – это:

apt-get update - обновляет список доступных для установки файлов с удаленного
сервера. apt-get install что-либо - устанавливает заданную программу apt-get remove что-либо - удаляет заданную программу. man apt-get - помощь по системе портов apt-get (на англ.)

Может возникнуть такая ошибка при выводе команды apt-get update:

W: GPG error: http://ftp2.de.debian.org lenny Release: The following signatures couldn't be verified because the public key is not
available: NO_PUBKEY 9AA38DCD55BE302B W: There is no public key available for the following key IDs: 9AA38DCD55BE302B W: You may want to run apt-get update to correct these problems

Лечится так: apt-get install debian-archive-keyring
После команды выше делаем: apt-get update
Ошибки пропали.
Установка важного пакета (build-essential)

3. Следующим шагом является обязательная установка build-essential: apt-get install build-essential – Данное установит такие пакеты как: gcc, g++, make, perl, patch и иные.
Ставим FTP сервер (с авторизацией по MySQL)

4. Начнем с установки легкого FTP сервера на ваш VDS. Все быстро легко и просто. Установим такой FTP сервис, который не будет приносить нам головной боли в будущем – vsftpd. Его преимущество в том, что логин и пароль к SSH (root и др) идентичными логину и паролю на FTP.

apt-get
install vsftpd

После этого ftp сервер готов к использованию. Логин и пароль такие же что и ваши логин и пароль для доступа по ssh протоколу. Также можно произвести несколько необходимых изменений в /etc/vsftpd.conf

  • Необходимо выключить анонимный доступ к вашему ftp серверу: anonymous_enable=NO
  • Дать возможность заходить на ftp сервер локально: local_enable=YES
  • Дать возможность ftp серверу записывать что-либо на сервер. Пользователи смогут закидывать файлы на сервер: write_enable=YES
  • На этом конфигурация завершена и сервер готов к работе. Перезапускаем его:

    /etc/init.d
    /
    vsftpd restart

    Дополнительные установки

    5. Установим некоторые необходимые пакеты, если таковые уже не установлены:

    apt-get
    install mc tcl8.5 tcl8.5-dev openssl
    libssl-dev libncurses5-dev ftp telnet
    traceroute nmap

    Далее можете установить любые пакеты по желанию, если знакомы с данной процедурой.

    Устанавливаем временную зону на сервере

    6. Некоторым людям для использования того или иного софта необходимо работать не только с точным временем, но и с определенными временными зонами. Например Москва, Европа или MSK и MSD. По дефолту время на сервере устновлено в UTC. Чтобы сменить его на желаемое или необходимое, выполняем:

    dpkg-reconfigure tzdata

    Добавляем нового пользователя

    7. Во благо избежания проблем с удалением важных файлов на сервере, рекомендуем Вам создать пользователя, под которым вы сможете производить все неободимые операции. Стоит заметить что некоторые программы не нуждаются в правах суперпользователя root для запуска, установки и даже удаления. Создать пользователя очень легко.

    adduser test – добавит пользователя test с домашней папкой в /home/test

    root@locahost:~
    # adduser test
    Adding user
    `test
    ' ... Adding new group `test'

    (1000)
    ... Adding new user
    `test
    ' (1000) with group `test'
    ... Creating home directory
    `/home/
    test
    ' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for
    test Enter the new value, or press ENTER for the
    default Full Name
    []: Room Number
    []: Work Phone
    []: Home Phone
    []: Other []: Is the information correct?
    [Y/n
    ]
    y

    Пользователь добавлен.
    Теперь на сервер Вы можете заходить под этим пользоваелем, а в любой момент, когда захотите войти под root/суперпользователем, наберите команду su. Вас попросят ввести пароль и Вы уже root. Пример ниже:

    test@localho
    st:~$ su Password: root@localhost:~
    #

    Дополнительно:
    Изменение пользователя происходит также просто:

    usermod
    [параметры]
    username

    Примеры

    usermod -d
    /home/docume
    nts/test
    test
    #изменит пользователю test домашнюю папку usermod -l joe test
    # изменит имя пользователя test на joe (а не
    наооборот)

    Изменение пароля:

    passwd username

    Например:

    passwd test

    Меняем локализацию сервера с английского на русский (по желанию)

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

    apt-get install locales – на все вопросы вносим Y.
    nano /etc/environment – открываем файл на редактирование и удаляем из него любые записи и вносим одну: LANG=»ru_RU.UTF-8

    Редактируем файл /etc/locale.gen:
    nano /etc/locale.gen – В списке находим ru_RU.UTF-8 UTF-8 и удаляем значек # перед записью. Сохраняем файл.
    locale-gen – запускаем команду для генерации локали. Пример ниже:

    root@test:~
    # locale-gen
    Generating locales (this might take a
    while)... ru_RU.UTF-8... done Generation complete.

    Перезаходим на сервер. В клиенте, который Вы используете для связи с сервером делаем следующее:
    После того как Вы вошли на сервер, кликните на верхнюю часть окна Putty правой кнопкой мыши, выше черного. Выберите Change Settings -> Window – Translation -> из списка выберите UTF-8 и нажмите Apply внизу.

    Важное замечание по безопасности

    9. Почти всегда сразу после установки сервера начинается подбор паролей по стандартному порту(22) протокола ssh к вашему серверу. Если не дай Бог Вы поставите стандартный, известный «подборщикам» пароль, ваш сервер захватят и удалят все важные файлы.
    Самый простой способ – заставить работать SSH на нестандартном порту.

    Приведем самую важную часть:

    nano
    /etc/ssh
    /
    sshd_config

    Надите строку (почти в самом начале):

    Port 22

    Смените число 22 на любое которое вам нравится (желательно, не более 65535). Перезапустите ssh:

    /etc/init.d
    /
    ssh restart

    Настоятельно рекомендуем выполнить все рекомендации из статьи выше.

    Установка сервера баз данных MySQL

    10. Установка на настройка mysql для использования минимального количества памяти.
    Если у вас маломощьный сервер (до 64мб оперативной памяти) рекомендуется уменьшить расход памяти mysql за счет производительности.
    Иными словами:

  • Сделать так, чтобы mysql не съело всю память на сервере при старте.
  • Уменьшить потребление памяти на будущее.
  • Чтобы mysql cразу после установки не зарезервировал всю свободную память, создаем папку и затем файл (действия совершаем под root/суперпользователем):

    mkdir /etc/mysql/ – создаем папку
    touch /etc/mysql/my.cnf – создаем файл
    nano /etc/mysql/my.cnf - открываем файл на редактирование

    Вносим в файл текст, представленный ниже и сохраняем:

    [client] port = 3306 socket =
    /var/run
    /
    mysqld/mysqld.sock [mysqld_safe
    ]
    socket =
    /var/run
    /
    mysqld/mysqld.sock nice = 0 # Basic Settings user = mysql pid-file =
    /var/run
    /
    mysqld/mysqld.pid socket =
    /var/run
    /
    mysqld/mysqld.sock port = 3306 basedir = /usr datadir =
    /var/lib
    /
    mysql tmpdir = /tmp language =
    /usr/share
    /
    mysql/english skip-external-locking bind-address = 127.0.0.1 # # * Fine Tuning # key_buffer = 16M max_allowed_packet = 2M thread_stack = 64K thread_cache_size = 4 ### myisam-recover = BACKUP query_cache_limit = 2M query_cache_size = 32M max_binlog_size = 100M [mysqld] skip-bdb skip-innodb [mysqldump] quick quote-names !includedir
    /etc/mysql
    /
    conf.d/

    Ставим сам mysql:

    apt-get
    install mysql-server mysql-client
    libmysqlclient15-dev

    Во время установки появится окно установки mysql пароля. Введите дважды необходимый пароль.

    Во время установки у Вас спросят что делать с /etc/mysql/my.cnf. Вам необходимо указать, чтобы использовался тот, что уже есть на сервере. Иначе конфиг будет перезаписан, и сервер с количеством оперативной памяти меньше 140Mb зависнет. Это связано с конфигурацией mysql. которая устанавливается по дефолту при установке mysql сервера.

    Далее:
    Обезопасим mysql стандартный утилитой mysql_secure_installation

    mysql_secure_installation

    Примерные вопросы, которые будут задаваться пользователю:

    root@test:~
    # mysql_secure_installation
    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH
    STEP CAREFULLY! ............. Enter current password for root
    (enter for
    none): #
    введите mysql пароль, установленный вами выше.
    Set new root password?
    [Y/n
    ]
    # задать новый парооль суперпользователя?
    Жмем Y (да) и
    New password: # вводим пароль Re-enter new password: # и его проверку Remove anonymous users?
    [Y/n
    ]
    # Удалить анонимных пользователей? Да. Disallow root login remotely?
    [Y/n
    ]
    # запретить удаленных вход под
    суперпользователем? Да (обязательно!)
    Remove test database and access to it?
    [Y/n
    ]
    # удалить тестовую БД? Да. Reload privilege tables now?
    [Y/n
    ]
    # перезагрузить привилегии? Да.

    Перезапускаем mysql:

    /etc/init.d
    /
    mysql restart

    Теперь MySQL использует не больше 35Mb оперативной памяти, по сравнению с 140Mb, указанными выше мы спасли вам 100Mb оперативки.

    Установка вебсервера Apache2 и PHP 5

    11. Ставим сам Apache 2:
    Для сохранения памяти на сервере apache ставится именно с apache2-mpm-prefork, а не с apache2-mpm-worker.

    apt-get
    install apache2 apache2-doc
    apache2-mpm-prefork apache2-utils libexpat1 ssl-cert

    А также php5 и самые необходимые для начала работы с сервером модулей php5:

    apt-get
    install libapache2-mod-php5 php5 php5-common
    php5-curl php5-dev php5-mysql php5-gd php5-mcrypt php5-xmlrpc

    Сократим нагрузку, соответственно уменьшим потребление памяти (применимо к серверам с малым объемом оперативной памяти ).

    nano
    /etc/apache2
    /
    apache2.conf

    Привожу измененный кусок. Находим похожий в /etc/apache2/apache2.conf и изменяем.

    <IfModule mpm_prefork_module> StartServers 1 MinSpareServers 1 MaxSpareServers 2
    # можно поставить и больше, с соответственно
    большим расходом памяти.
    MaxClients 50 MaxRequestsPerChild 4000 </IfModule>

    Перезапускаем Апаче:

    /etc/init.d
    /
    apache2 restart

    Настройка Apache

    Условные обозначения: ip-адрес 123.123.123.123.
    Доменное имя, на которое отзывается данный IP: test.test.ru
    Обнуляем дефолтный файл.

    rm -f
    /etc/apache2
    /
    sites-enabled/*

    Рекомендуем придерживаться вложеной структуры и размещать сайты в папке /home/<имяПользователя>/<>домен>

    mkdir
    /home/test
    /
    123.123.123.123 mkdir
    /home/test
    /
    test.test.ru mkdir
    /home/test
    /
    ~logs/

    Пишем в конфиг

    nano
    /etc/apache2
    /
    httpd.conf

    следущие директивы

    NameVirtualHost *:80 ErrorLog
    /home/web
    /
    site/error.log CustomLog
    /home/web
    /
    site/access.log combined ServerAdmin vdsadmin@lazutov.ru <VirtualHost
    *:80
    >
    DocumentRoot "/home/test/123.123.123.1>23" ServerName "123.123.123.123" ServerAlias "123.123.123.123" php_admin_value memory_limit 32M CustomLog
    /home/test
    /
    ~logs/123.123.123.123.log combined </VirtualHost
    >
    <VirtualHost
    *:80
    >
    DocumentRoot "/home/test/test.test.ru" ServerName "test.test.ru" ServerAlias "test.test" "www.test.test.ru" php_admin_value memory_limit 64M CustomLog
    /home/test
    /
    ~logs/test.test.ru.log combined </VirtualHost
    >

    Аналогично можно добавлять домены и поддомены. Не забывайте перезапускать вебсервер после внесения изменений

    /etc/init.d
    /
    apache2 restart

    Установка phpMyAdmin

    12. Для, тех, кто хочет закончить настройку побыстрее: вы можете выполнить все действия ниже в одно действие.

    apt-get
    install phpmyadmin

    Вас спросят:

    Выберите веб-сервер, который будет автоматически настроен для запуска
    phpMyAdmin. Веб-сервер для автоматической перенастройки: [ ] apache2
    - Выбираем именно apache2!

    Жмем пробел чтобы поставить галочку и Tab + Enter.

    phpMyAdmin доступен по адресу: http://ваш.сервер/phpmyad>min

    Ваш сервер готов к работе!




    А так же :

    И. Я. Фроянов о нашей истории и историографии


    adamficek Wow, thank you, and this Japanese website is ACE!!!


    Итак как я уже давно хотел, а некоторым даже и обещал, прогоню телегу о взаимоисключающем


    лучшая песни под гитару


    Анализ регионального рынка подсолнечного масла (Ростовская область)
    Введение Ростовская область среди всех территорий России традиционно относится к территориям – ведущим производителям растительного масла, территориям – экспортерам растительного масла. Так, по данным Госкомстата России, в сентябре 2003 года в России производство растительного масла составило 84,8 тыс.


    Кто мне объяснит, почему при хождении по ссылкам в firefox у меня стало выскакивать



    Hosted by uCoz