Рубрика: Ubuntu

Простая установка и настройка dns (bind9)

DNS (англ. Domain Name System — система доменных имён) — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста(компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).    


                                                              

Исходные данные

  • имя компьютера: ub

  • имя домена: domain.tld

Подготовка 

# Проверяем какой IP адрес получил компьютер  

 ifconfig -a  

# мой ip 192.168.1.1

# прописываем IP и имя нашего зарегистрированного домена в файлике /etc/hosts      

 sudo nano /etc/hosts     

192.168.1.1 ub.domain.tld ub

Настроим сетевой интерфейс

nano /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 192.168.1.1

 Установка bind9

 sudo apt-get install bind9

# каталог установки /etc/bind.

Следующим шагом, генерируем ключ для обновления DNS записей

dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER

выводим его на экран

cat Kdhcp_updater.*.private|grep Key

на экране вы должны увидеть ключ, что то подобно этому:

Key: lqrfes/uv041jCmoqDu3BA==

Открываем файл конфигурации

sudo nano /etc/bind/named.conf.options

Добавим следующий код:

forwarders{

                         85.112.23.15
                    85.112.23.18 #DNS нашего провайдера
                    8.8.8.8;
                    8.8.4.4;
};

listen-on {
                  127.0.0.1;
                  192.168.1.1;
};

 

  •  forwaders – вышестоящий dns сервер (сервер гугла), используется если url запроса не найден в нашей базе.
  • listen-on – адреса через которые будет обслуживаться наш DNS сервер.

Сохраняем (Ctrl+O) и закрываем (Ctrl+X) файл.

 nano /etc/resolvconf/resolv.conf.d/tail

domain domain.tld
search domain.tld
nameserver 127.0.0.1     #(192.168.1.1)

# Переходим в каталог

 cd /etc/bind

Прописываем зоны для нашей сети

 sudo nano named.conf.local

key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret «lqrfes/uv041jCmoqDu3BA==»;
};

zone «domain.tld» { //прямая зона
type master;
file «/var/lib/bind/db.domain.tld»;
allow-update { key DHCP_UPDATER; };
};

 zone «1.168.192.in-addr.arpa» { // обратная зона PTR
type master;
file «/var/lib/bind/db.rev_domain.tld»;
allow-update { key DHCP_UPDATER; };
};

cd /var/lib/bind/
sudo cp /etc/bind/db.local /var/lib/bind/db.domain.tld

# Настраиваем прямую зону

sudo nano db.domain.tld

;
; BIND data file for domain.tld ;
$TTL 604800
@ IN SOA domain.tld. root.domain.tld.(
                                                      2 ; Serial
                                                     604800 ; Refresh
                                                     86400 ;Retry  
                                                     2419200 ; Expire
                                                     604800 ) ; Negative Cache TTL

IN            A          192.168.1.1
                                    ;
@      IN            NS        ub.domain.tld.
@      IN             A          192.168.1.1
ub  IN             A          192.168.1.1

# Настраиваем обратную зону

 sudo cp/etc/bind/db.127 /var/lib/bind/db.rev_domain.tld
 sudo nano db.rev_domain.tld

;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ub.domain.tld. domain.tld. (
                                                              1 ; Serial
                                                   64800 ; Refresh
                                                   86400 ; Retry
                                               2419200 ; Expire
                                              604800 ) ; Negative Cache TTL
;
@ IN  NS    ub.
 1  IN  PTR ub.domain.tld.

#Теперь проверим наши конфиги

  named-checkzone domain.tld /var/lib/bind/db.domain.tld
zone ub.ru/IN: loaded serial 2
OK
 named-checkzone 1.168.192.in-addr.arpa /var/lib/bind/db.rev_domain.tld
zone 1.168.192.in-addr.arpa/IN: loaded serial 2
OK

Применяем изменения

sudo rndc reload

sudo service bind9 restart 

# Теперь проверим наш DNS сервер

 nslookup domain.tld 

Server 192.168.1.1

Server 192.168.1.1#53

Name: domain.tld

Address: 192.168.1.1

 nslookup 192.168.1.2

Server 192.168.1.1

Server 192.168.1.1#53

1.1.168.192.in-addr.arpa name=ub.domain.tld.

В последующем как настроим DHCP сервер, нужно, чтобы он автоматически создавал А запись, для этого нужно дать права на запись в /etc/default/bind9

nano /etc/default/bind9

Пропишем 

# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes

 

Прописывать  обратную зону на своем сервер можно, если настраиваешь локальный DNS сервер, для глобального необходимо прописывать у Вашего хостера.  

Кстати можно прописать свой глобальный серевер DNS, только нужно прописать вместо локального IP, Ваш глобальный («белый») IP  и второе нужен другой NS сервер хотя бы один иначе DNS не заработает.

Теперь можем настроить DHCP.

Удачи!

 

Установка и настройка ssh в Ubuntu

SSH (англ. Secure Shell — «безопасная оболочка»[1]) — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.


Устанавливаем.

В терминале набираем команду 

apt install openssh-server

После завершения установки, добавим сервис в автозагрузку

semctl enabystle ssh

Настройка

nano /etc/ssh/sshd_config

Нам нужно всего два параметра

прописываем порт

Port 5555 - абсолютно любой порт, кроме зарегистрированных системой

Второй параметр, разрешение подключения к ssh root

Я его не включаю, это дополнительная безопасность. Но если Вы все же хотите, то 

PermitRootLogin yes

Сохраняем настройки

Перезапускаем сервис

service ssh restart

И не забудьте. если у Вас стоит фаервол, то нужно открыть порт наружу.

Чтобы подключиться к компьютеру по ssh в терминале вводим

ssh -p 5555 fad@внешний_IP_адрес 

Установка phpmyadmin из исходников Ubuntu 16.04

После того, как мы установили свой web-server, встает вопрос работы с mysql сервером, можно конечно администрировать

  • из командной строки (круто, но сложно).
  • Можно воспользоваться программой Workbench — придется ставить на каждый компьютер где сидите
  • phpmyadmin — отличный вариант для работы с базами данных по удаленке

Вообщем решать Вам самим.


Подготовка 

И так приступим к установке phpmyadmin.

Скачиваем дистрибутив phpmyadmin

wget https://files.phpmyadmin.net/phpMyAdmin/4.6.4/phpMyAdmin-4.6.4-all-languages.tar.gz
tar zxvf phpMyAdmin-4.6.4-all-languages.tar.gz

Создаем папку для катaлогов. В моем случае это примонтированный диск 

mkdir /mnt/phpmyadmin

Далее копируем в директорию  phpmyadmin. 

cp -r /home/maks/Загрузки/phpMyAdmin-4.6.4-all-languages /mnt/phpmyadmin

 В директории создаем config.inc.php

cp cinfig.sample.inc.php config.inc.php

Назначаем права 

chmod -R 755 /mnt/phpmyadmin
chmod -R 644 /mnt/phpmyadmin/config.inc.php

Создадим базу в mysql

mysql -u root -p < /mnt/phpmyadmin/sql/create_tables.sql

Создать базу и дать привилегии из терминала mysql

mysql -u root –p mysql
CREATE DATABASE mydb;
GRANT ALL PRIVILEGES ON mydb.* TO user@’xxx.xxx.xx.x’ IDENTIFIED BY ‘UserPassword’;

Дать привилегии к существующей базе mysql из терминала

update db set Host=’ip’ where Db=’base’;
update user set Host=’ip’ where user=’User’;

Разрешить доступ с любого хоста ко всем базам на сервере

GRANT ALL PRIVILEGES ON *.* TO user@’%’ IDENTIFIED BY ‘UserPassword’;, где user — это Ваш пользователь в mysql

Проверка удаленного подключения к MySQL

Проверяем  порт 3306 на сервере БД:

telnet ip 3306

 

Настройка

Редактируем config.inc.php

nano /mnt/phpmyadmin/config.inc.php

$cfg[‘blowfish_secret’] = »; — ставим произвольные значения

// $cfg[‘Servers’][$i][‘pmadb’] = ‘phpmyadmin’;
// $cfg[‘Servers’][$i][‘bookmarktable’] = ‘pma__bookmark’;
// $cfg[‘Servers’][$i][‘relation’] = ‘pma__relation’;
// $cfg[‘Servers’][$i][‘table_info’] = ‘pma__table_info’;
// $cfg[‘Servers’][$i][‘table_coords’] = ‘pma__table_coords’;
// $cfg[‘Servers’][$i][‘pdf_pages’] = ‘pma__pdf_pages’;
// $cfg[‘Servers’][$i][‘column_info’] = ‘pma__column_info’;
// $cfg[‘Servers’][$i][‘history’] = ‘pma__history’;
// $cfg[‘Servers’][$i][‘table_uiprefs’] = ‘pma__table_uiprefs’;
// $cfg[‘Servers’][$i][‘tracking’] = ‘pma__tracking’;
// $cfg[‘Servers’][$i][‘userconfig’] = ‘pma__userconfig’;
// $cfg[‘Servers’][$i][‘recent’] = ‘pma__recent’;
// $cfg[‘Servers’][$i][‘favorite’] = ‘pma__favorite’;
// $cfg[‘Servers’][$i][‘users’] = ‘pma__users’;
// $cfg[‘Servers’][$i][‘usergroups’] = ‘pma__usergroups’;
// $cfg[‘Servers’][$i][‘navigationhiding’] = ‘pma__navigationhiding’;
// $cfg[‘Servers’][$i][‘savedsearches’] = ‘pma__savedsearches’;
// $cfg[‘Servers’][$i][‘central_columns’] = ‘pma__central_columns’;
// $cfg[‘Servers’][$i][‘designer_settings’] = ‘pma__designer_settings’;
// $cfg[‘Servers’][$i][‘export_templates’] = ‘pma__export_templates’; Расcкомментируем эти строчки убрав // 

 Сохраняем конфигурацию

Пропишем в нашем веб сервере виртуальный хост для phpmyadmin

nano /mnt/http/conf/http.conf

Alias /phpmyadmin /mnt/phpmyadmin

<Directory «/mnt/phpmyadmin»>
Options FollowSymLinks
DirectoryIndex index.php

<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /mnt/phpmyadmin/tmp
php_admin_value open_basedir /mnt/phpmyadmin/:/mnt/phpmyadmin/:/mnt/phpmyadmin/
</IfModule>
Require all granted
</Directory>

# Authorize for setup
<Directory /mnt/phpmyadmin/setup>
<IfModule mod_authn_file.c>
AuthType Basic

AuthName «phpMyAdmin Setup»
AuthUserFile /mnt/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</Directory>

# Disallow web access to directories that don’t need it
<Directory «/mnt/phpmyadmin/libraries»>
Order Deny,Allow
Require all granted
</Directory>
<Directory «/mnt/phpmyadmin/setup/lib»>
Order Deny,Allow
Require all granted
</Directory>

Перезапускаем наш Веб и наслаждаемся

http://ip/phpmyadmin

 

PHP:Установка и настройка из исходников в Ubuntu

PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools[7] — «Инструменты для создания персональных веб-страниц»; произносится пи-эйч-пи) — скриптовый язык[8] общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов[9].


 

Установить php в Ubuntu можно через apt-get install php, но более новую версию можно установить только из исходников. На данный момент это версия 5.6.10.Скачиваем ее.

wget http://ar2.php.net/get/php-5.6.9.tar.gz/from/this/mirror

Это основной пакет, так же для php необходимы дополнительные расширения. Сейчас мы их скачаем и установим.

  • Архиваторы

             — BZIP2 

                    wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
                    tar zxvf bzip2-1.0.6.tar.gz
                    cd  bzip2-1.0.6 
                    make -f Makefile
При компиляции PHP и bzip2 в 64 битной системе, возможно возникнет ошибка: /usr/bin/ld: /usr/local/lib/libbz2.a(bzlib.o): relocation R_X86_64_32S against `.text' ca      n not be used when making a shared object; recompile with -fPIC /usr/local/lib/libbz2.a: could not read symbols: Bad value collect2: ld returned 1 exit status make: *** [libtokyocabinet.so.9.8.0] Error 1 Особо не пугайтесь, идете опять в папку bzip2-1.0.6 и редактируете Makefile добавив -fpic -fPIC. 
Добавить нужно в строке: CFLAGS=-Wall -Winline -O2 -g$(BIGFILES) -
CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g$(BIGFILES)
make -f Makefile
make clean

И заново make install

make install
                    Параметр для установки: --with-bz2[=DIR] .

          — ZLIB

                 wget http://zlib.net/zlib-1.2.8.tar.gz
                 tar zxvf zlib-1.2.8.tar.gz
 cd zlib-1.2.8/
                 ./configure --prefix=/usr/local
                 make
                 make install
                Параметры установки: --enable-zip --with-zlib[=DIR] 

  • Криптографические расширения 

        — Mcrypt

                    http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz/download
                     tar zxvf mcrypt-2.6.8.tar.gz
                     cd mcrypt-2.6.8
                     ./configure --prefix=/usr/local
                     Во время установки выскочит сообщение: "libmcrypt was not found": apt-get install libmcrypt-dev libmhash-dev
                     make
                     make install
                     Параметры установки: --with-mcrypt[=DIR]

             — Openssl

                   wget http://www.openssl.org/source/openssl-1.0.2c.tar.gz
                   tar zxvf openssl-1.0.2c.tar.gz
                   cd openssl-1.0.2c
                   При установке на x64 платформу выскакивает ошибка: relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC 
Решение:
nano Makefile
добавляем
CFLAGS=-fPIC .....и.т.д
Если программу уже ставили, то сначала
make clean
make -f Makefile
                   make
                   make install
                 Параметры установки: --with-openssl[=DIR]
  • Расширения для работы с датой и временем

     — Календарь

            Просто включить в установку --enable-calendar .
  • Поддержка языков и кодировок

     — Gettex

             wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.4.tar.gz
             tar zxvf gettext-0.19.4.tar.gz
             cd gettext-0.19.4
             ./configure --prefix=/usr/local
             make
            make install
            Параметры установки: --with-gettext[=DIR]
  • Обработка изображений и GD

     — GD

         — Установка поддержки jpeg

             Качаем

             wget http://www.ijg.org/files/jpegsrc.v9a.tar.gz

             Распаковываем

             tar zxvf jpegsrc.v9a.tar.gz
             cd jpeg-9a
             ./configure --prefix=/usr/local --enable-shared
            make 
            make install
            Параметр установки --with-jpeg-dir=DIR

        — Установка png

         Качаем     

         http://prdownloads.sourceforge.net/libpng/libpng-1.6.17.tar.gz?download

         Распаковываем

         tar zxvf libpng-1.6.17.tar.gz
         cd libpng-1.6.17
         ./configure --prefix=/usr/local
         make
         make install
          Параметр установки --with-png-dir=DIR

      — Устанавливаем libvpx

         Для установки необходимо установить дополнительные пакеты

         - устанавливаем yasm

            Качаем

            wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz

            Распаковываем 

            tar zxvf  yasm-1.2.0.tar.gz
            cd yasm-1.2.0
            ./configure
            make
            make install

         — устанавливаем which

                  Качаем

                  wget http://ftp.gnu.org/gnu/which/which-2.21.tar.gz

                  Распаковываем

                  tar zxvf which-2.21.tar.gz
                  cd which-2.21
                  ./configure 
                  make
                  make install

      — Теперь установим VPX

                  Качаем

                 wget http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-1.4.0.tar.bz2

                 Распаковываем

                 tar xvjf libvpx-1.4.0.tar.bz2
                 cd libvpx-1.4.0
                 sed -e 's/cp -p/cp/' \
                    -i build/make/Makefile &&
                     chmod -v 644 vpx/*.h &&
                ./configure --prefix=/usr \
                     --enable-shared \
                   --disable-static
                    make
               make install

             Параметр установки для GD —with-vpx

     -установка libxpm

              wget ftp://metalab.unc.edu/pub/Linux/libs/X/libXpm-4.7.tar.gz
              tar zxvf    libXpm-4.7.tar.gz
              cd xpm-3.4g
              apt-get install xutils-dev libx11-dev libxt-dev libxtst-dev libxpm-dev
              xmkmf
              make Makefiles
              make
              make install 
             установка происходит в /usr/lib

     — Далее поставим freetype2

             http://sourceforge.net/projects/freetype/files/freetype2/2.6/freetype-2.6.tar.gz/download       

            Распакуем 

            tar zxvf freetype-2.6.tar.gz
            cd freetype-2.6
            ./configure 
            make
           make install
           Параметр установки для GD --with-freetype-dir=DIR /usr/bin

   -fontconfig

          wget http://fontconfig.org/release/fontconfig-2.8.0.tar.gz
          tar zxvf fontconfig-2.8.0.tar.gz
          cd fontconfig-2.8.0
    apt-get install pkg-config libtiff5-dev libxml2-dev
          ./configure
          make
          make install

  — Далее поставим t1lib

         Качаем
         wget ftp://sunsite.unc.edu/pub/Linux/libs/graphics/t1lib-5.1.2.tar.gz

         Распаковываем

         tar zxvf  t1lib-5.1.2.tar.gz
         cd t1lib-5.1.2
         apt-get install libxaw7-dev
         ./configure 
         make without_doc
         make install  
         Параметр установки для GD --with-t1lib[=DIR]

Теперь установим GD

Качаем

wget https://github.com/libgd/libgd/archive/gd-2.1.1.tar.gz

Распаковываем

tar zxvf gd-2.1.1.tar.gz
cd libgd-gd-2.1.1
apt-get install manpages-posix-dev clang-3.3
Бывает выскакивает вот такое сообщение cmake could not find freetype (missing freetype_include_dirs) Решение заходим в свою папку с Например у меня libgd-gd-2.1.1/cmake/modules/FindFreetype.cmake находим строчку FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h и меняем ее на FREETYPE_INCLUDE_DIR_freetype2 freetype2/config/ftheader.h 
cmake -DENABLE_PNG=1 -DENABLE_JPEG=1 -DENABLE_TIFF=1 -DENABLE_FREETYPE=1 -DENABLE_FONTCONFIG=1 -DENABLE_XPM=1
make
make install

-curl

wget http://curl.haxx.se/download/curl-7.43.0.tar.gz
tar zxvf curl-7.43.0.tar.gz
cd curl-7.43.0
./configure --prefix=/usr/local
make 
make install

Установка php

apt-get install lcov libxml2-dev libmysqlclient-dev libstdc++5
sudo apt-get install clibcurl4-openssl-dev pkg-config libssl-dev libsslcommon2-dev

Устанавливаем

./configure --with-apxs2=/etc/http/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/bin/mysql_config --with-bz2=/usr/local --enable-gcov  --enable-zip --with-zlib=/usr/local --with-mcrypt=/usr/local --enable-mbstring --with-openssl=/usr/local/ssl --enable-calendar --with-gettext=/usr/local --with-jpeg-dir --with-png-dir --with-freetype-dir --with-t1lib=/usr/local  --with-gd --with-curl=/usr/local --enable-shared --enable-static --with-xpm-dir=/usr/local
make
make install

Настройка

копируем конфигурационный файл

cp php.ini-development /usr/local/lib/php.ini

Далее нам его необходимо открыть

nano /usr/local/lib/php.ini

найти строку date.timezone

 - Убрать спереди этой строки ";"
- Добавить часовой пояс Москва: "Europe/Moscow"

Далее открываем конфигурационный файл Apache

nano /etc/http/conf/httpd.conf
проверяем есть ли строка 
 LoadModule php5_module modules/libphp5.so
Так же необходимо добавить в DirectoryIndex
index.php Должно получиться DirectoryIndex index.php index.html

И добавить строчки

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

И все, что нам осталось, это только проверить работу php Для этого в каталоге с Вашим Web-server (DocumentRoot по умолчанию /etc/http/htdocs) создаем файлик, например index.php и пропишим туда следующий код

<?php
phpinfo();
?> 

Набираем в адресной строке нашего сайта localhost/test.php и проверяем что получилось.

Интернет шлюз на Ubuntu. Полная замена роутера

И так мы хотим для себя настроить интернет, можно пойти и купить обычный роутер с wi-fi стоимость от 1000 и более  и не забивать себе мозг, воткнул кабель сделал пару действий и получил wi-fi и интернет. Но это подходит только для домашних пользователей, а для малых и не больших, да и больших организаций такой вариант не подходит, так как нагрузка на роутер возрастет в разы и Вы получить дохлый интернет и тумаки от руководства. А нам это нужно — нет!!! Для этих целей нужен мощный и производительный  роутер стоимость от 25000 и выше.

Начальство денег может не дать, мол дорого и не нужно, а как я уже сказал, виноватыми будете ВЫ!. Наверняка у Вас есть старый завалявшийся ком с DDR, DDR2 еще лучше DDR3. Вот он как раз подойдет для организации интернет шлюза. Все что только нужно это поставить две сетевые карточки (стоимость по 600р — пример ну и wi-Fi карточку стоимость примерно 1000р, согласитесь на много дешевле получается.)


 Ставим ОС Ubuntu (14.04.3), на эту тему написано множество материала. Обновляем.

Исходные данные:

  • Имя компьютера: ubnet
  • Интернет (статичный или динамичный, Опишем статичный) Пример: 85.112.23.246  — eth0
  • Локальная сеть  192.168.1.0/24 что значит эта запись смотрите здесь 
  • Локальный IP 192.168.1.2  — eth1
  • DNS (кэширующий) IP:192.168.1.1
  • DHCP IP:192.168.1.1

 

Настройка

 Настраиваем сетевые интерфейсы

nano /etc/network/interfaces

auto eth0
iface eth0 inet static
address 85.112.23.246
netmask 255.255.255.0
gateway 85.112.23.65
dns-nameservers 192.168.1.1

auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0

pre-up /etc/net     #Правила межсетевого экрана

Сохраняемся. Теперь создадим правила фаервола

touch /etc/net
chmod +x /etc/net

#!/bin/sh

#Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

#Разрешаем траффик на lo
iptables -A INPUT -i lo -j ACCEPT

#Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

#Включаем NAT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

#Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth0 -m state —state ESTABLISHED,RELATED -j ACCEPT

#Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i eth0 -o eth1 -j REJECT

Все. Основные настройки произведены. Устанавливаем DNS и DHCP. Статьи описаны ранее.В будущем будет усложнять данную статью.

Дополнения:

Задача в нашей новой сети появился еще один клиент ssh(2222) пробрасываем порт наружу для соединения.

#Порт 2222

iptables -t nat -A PREROUTING —dst 85.112.23.246 -p tcp —dport 2222 -j DNAT —to-destination 192.168.1.2
iptables -I FORWARD 1 -i eth0 -o eth1 -d 192.168.1.2 -p tcp -m tcp —dport 2222 -j ACCEPT
iptables -t nat -A POSTROUTING —dst 192.168.1.2 -p tcp —dport 2222 -j SNAT —to-source 192.168.1.1
iptables -t nat -A OUTPUT —dst 85.112.23.246 -p tcp —dport 2222 -j DNAT —to-destination 192.168.1.2

Протестируем из терминала

ssh -p 2222 root@85.112.23.246 — или по имени например: ubldap.domain.tld 

 

 

Iptables проброс портов для tandberg

Какие порты IP используются H.323 и протоколом SIP для TANDBERG MXP оконечные точки?

Для H.323:

Обнаружение сторожевого устройства (RAS) — порт 1719 — UDP

Настройка вызова Вопрос. . 931 — порт 1720 — TCP

H.245 — диапазон портов 5555-5574 — TCP

Видео — диапазон портов 2326-2485 — UDP

Аудио — диапазон портов 2326-2485 — UDP

Data/FECC — Диапазон портов — 2326-2485 — UDP

Для SIP:

Сообщения SIP — порт 5060 — UDP/TCP

Сообщения SIP — порт 5061 — TLS (TCP)

H.245 — диапазон портов 5555-5574 — TCP

Видео — диапазон портов 2326-2485 — UDP

Аудио — диапазон портов 2326-2485 — UDP

 

Задача: Есть Tandberg 95 MXP со статичным IP (локальный192.168.1.28) и протоколом H.323. Его необходимо пробросить в nat из iptables.

 

Решение: Применяем следующие настройки:

В Tandberg заходим в

Настройки — Сеть — Настройки IP – H.323 – Дополнительные настройки H.323 – Включаем Nat (прописываем IP внешний) и Ставим Статичные порты.

И перезапускаем tandberg.

Далее в iptables пробрасываем порты. И обязательно Прописать переменные LAN_IP=внутренний IP адрес , а NET_IP=внешний ip адрес

#TANDBERG

#1720

iptables -t nat -A PREROUTING —dst $INET_IP -p tcp —dport 1720 -j DNAT —to-destination $LAN_IP

iptables -I FORWARD 1 -i eth2 -o eth1 -d $LAN_IP -p tcp -m tcp —dport 1720 -j ACCEPT

iptables -t nat -A POSTROUTING —dst $LAN_IP -p tcp —dport 1720 -j SNAT —to-source 192.168.0.11

iptables -t nat -A OUTPUT —dst $INET_IP -p tcp —dport 1720 -j DNAT —to-destination $LAN_IP

#————————————-#

#1719

iptables -t nat -A PREROUTING —dst $INET_IP -p udp —dport 1719 -j DNAT —to-destination $LAN_IP

iptables -I FORWARD 2 -i eth2 -o eth1 -d $LAN_IP -p udp -m udp —dport 1719 -j ACCEPT

iptables -t nat -A POSTROUTING —dst $LAN_IP -p udp —dport 1719 -j SNAT —to-source 192.168.0.11

iptables -t nat -A OUTPUT —dst $INET_IP -p udp —dport 1719 -j DNAT —to-destination $LAN_IP

#Video-audio

iptables -t nat -A PREROUTING —dst $INET_IP -p udp —dport 2326:2485 -j DNAT —to-destination $LAN_IP

iptables -I FORWARD 3 -i eth2 -o eth1 -d $LAN_IP -p udp -m udp —dport 2326:2485 -j ACCEPT

iptables -t nat -A POSTROUTING —dst $LAN_IP -p udp —dport 2326:2485 -j SNAT —to-source 192.168.0.11

iptables -t nat -A OUTPUT —dst $INET_IP -p udp —dport 2326:2485 -j DNAT —to-destination $LAN_IP

#————————————-#

iptables -t nat -A PREROUTING —dst $INET_IP -p tcp —dport 5555:5574 -j DNAT —to-destination $LAN_IP

iptables -I FORWARD 4 -i eth2 -o eth1 -d $LAN_IP -p tcp -m tcp —dport 5555:5574 -j ACCEPT

iptables -t nat -A POSTROUTING —dst $LAN_IP -p tcp —dport 5555:5574 -j SNAT —to-source 192.168.0.11

iptables -t nat -A OUTPUT —dst $INET_IP -p tcp —dport 5555:5574 -j DNAT —to-destination $LAN_IP

 

3. Сохраняем и применяем настройки iptables.

Установка и настройка DHCP

Протокол динамического выделения адресов (DHCP) — это сетевой сервис, который позволяет компьютерам в сети автоматически получать настройки с сервера вместо того, чтобы настраивать каждый сетевой хост вручную. Компьютеры, настроенные быть клиентами DHCP, не управляют тем, какие настройки они получат от DHCP сервера, и эта настройка совершенно незаметна для пользователя компьютера.


 

Установка

sudo apt-get install isc-dhcp-server

Обратите внимание, что сообщения dhcpd будут посылаться в syslog. Смотрите его для диагностики.

Предварительная настройка

И так мы хотим настроить свой интернет шлюз с DNS и DHCP, DNS мы с Вами настроили в этой статье и так!

Исходные данные

  • имя компьютера: ub

  • имя домена: domain.tld

  •           IP локальный dns:192.168.1.1

Настройка

Редактируем конфиг

nano /etc/dhcp/dhcpd.conf

 

default-lease-time 600;
max-lease-time 7200;

authoritative;

log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.150 192.168.1.200;
option domain-name-servers 192.168.1.1;
option domain-name «domain.tld»;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
}

ddns-update-style interim;
update-static-leases on;
key DHCP_UPDATER {
algorithm hmac-md5;
secret «lqrfes/uv041jCmoqDu3BA==»;       //ключ, который мы получили настраивая dns
}

zone domain.tld. {
primary 127.0.0.1;
key DHCP_UPDATER;
}

zone 1.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}

Далее привяжем сетевой интерфейс (Например eth1, если вы настраиваете интернет шлюз на ubuntu). Об этом не много позднее в следующей статье.

nano nano /etc/default/isc-dhcp-server

INTERFACES=»eth1″

Перезапустим dhcp

sudo /etc/init.d/isc-dhcp-server restart

Добавление Ubuntu в домен Windows (AD)

На самом деле добавить Ubuntu в AD можно двумя способами вручную или с помощью domainjoin-gui 


Добавление вручную 

Общие настройки

Первое, что мы делаем обновляем пакеты командами:

apt-get update
apt-get upgrade

Затем установим основные команды

apt-get install install krb5-user samba winbind 
apt-get install libpam-krb5 libpam-winbind libnss-winbind

Настройка сети и DNS 

1. Необходимо отредактировать файлик hosts  

       nano /etc/hosts
       192.168.0.5 ub.study.local ub #Имя локальной машины
       192.168.0.2 dc1.study.local dc1 #Пример ip сервера, прописать обязательно!

2. Настройки сети локальной машины.

  •        Если у вас статический IP-адрес, то в Ubuntu Desktop это можно сделать через Network Manager, в Ubuntu Server необходимо изменить содержимое файла /etc/resolv.conf на примерно такое:
                                             domain study.local
search study.local
nameserver 192.168.0.1  #IP Вашего шлюза

                                           nameserver  192.168.0.2  #IP Вашего сервера 

Если редактировали файл /etc/resl.conf на прямую, то после перезагрузки сервера все данные пропадут. Чтобы данные сохранялись нужно отредактировать /etc/resolvconf/resolv.conf.d/head Данные которые будут добавлены в него, будут автоматически вставлены в файл /etc/resolv.conf

  •        Если IP динамический, полученный по DHCP, то:

                                           редактируем /etc/dhcp/dhclient.conf

                                           nano /etc/dhcp/dhclient.conf

                                           редактируем строки 

                                         supersede domain-name "study.local dc1.study.local";
                                         prepend domain-name-servers 192.168.0.2;

Перезапускаем компьютер командой:

reboot  

После перезагрузки проверим доступность сервера командой пинг

ping dc1
ping dc1.study.local

Настройка синхронизации времени

Далее необходимо настроить синхронизацию времени с доменконтроллером. Если разница будет более 5 минут мы не сможем получить лист от Kerberos. Для единовременной синхронизации можно воспользоваться командой:

sudo net time set dc

Если в сети существует сервер точного времени, то можно воспользоваться им или любым публичным:

ntpdate ntp2.stratum2.ru

Автоматическая же синхронизация настраивается с помощью ntpd, это демон будет периодически выполнять синхронизацию. Для начала его необходимо установить:

sudo apt-get install ntp

Теперь исправьте файл /etc/ntp.conf, добавив в него информацию о вашем сервере времени:

# You do need to talk to an NTP server or two (or three).
server dc1.study.local

После чего перезапустите демон ntpd:

sudo /etc/init.d/ntp restart

Настройка авторизации через Kerberos

Прежде чем редактировать конфигурационный файл, сохраним его резервную копию

mv /etc/krb5.conf /etc/krb5.conf.old

 Редактируем новый  файл /etc/krb5.conf. Делаем точно так же как и на представленном конфиге!

nano /etc/krb5.conf

 GNU nano 2.2.6 Файл: /etc/krb5.conf

[libdefaults]
default_realm = STUDY.LOCAL

# The following krb5.conf variables are only for MIT Kerberos.
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true

# default_tgs_enctypes = des3-hmac-sha1

# default_tkt_enctypes = des3-hmac-sha1

# permitted_enctypes = des3-hmac-sha1

# default_tgs_enctypes = des3-hmac-sha1

# default_tkt_enctypes = des3-hmac-sha1
# permitted_enctypes = des3-hmac-sha1

# The following libdefaults parameters are only for Heimdal Kerberos.
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true

[realms]

STUDY.LOCAL = {
kdc = dc1.STUDY.LOCAL
admin_server = dc1.STUDY.LOCAL
default_domain = STUDY.LOCAL
}

[domain_realm]
.opc.local = STUDY.LOCAL
opc.local = STUDY.LOCAL
[login]

krb4_convert = false
krb4_get_tickets = false                      

Теперь настало время проверить, что мы можем авторизоваться в домене. Для этого выполните команду

kinit username@STUDY.LOCAL #Например kinit alexey@STUDY.LOCAL

Если не выдал ошибок, значит все получилось

Теперь проверим полученный билет

klist
Результат будет такой
Ticket cache: FILE:/tmp/krb5cc_10000
Default principal: alexey@STUDY.LOCAL

Valid starting Expires Service principal
14.12.2015 10:33:27 14.12.2015 20:33:27 krbtgt/STUDY.LOCAL@STUDY.LOCAL
renew until 15.12.2015 10:33:20

Удалить все билеты

kdestroy

Настройка Samba и вход в домен

Сохраним конфигурационный файл samba

mv /etc/samba/smb.conf /etc/samba/smb.conf.old

Редактируем новый  файл

nano /etc/samba/smb.conf

[global]
workgroup = STUDY
realm = STUDY.LOCAL
security = ADS
encrypt passwords = true
dns proxy = no
socket options = TCP_NODELAY
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes

После того, как вы отредактируете smb.conf выполните команду

testparm

Результат должен быть такой

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions
net ads join -U alexey -D STUDY.LOCA -S dc1, Где alexey и dc1, STUDY.LOCAL, необходимо заменить на свои данные 
Результат
Enter username's password:
Using short domain name -- STUDY.LOCAL
Joined 'ub' to dns 'study.local'
Проверим результат добавления в домен
#net ads testjoin
Join is OK

Настройка Winbind

Редактируем nano /etc/samba/smb.conf

[global]
workgroup = STUDY
realm = STUDY.LOCAL
security = ADS
encrypt passwords = true
dns proxy = no
socket options = TCP_NODELAY
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes
#winbind
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
template shell = /bin/bash
winbind refresh tickets = yes
winbind offline logon = yes
winbind cache time = 300

Теперь перезапустите демон Winbind и Samba в следующем порядке:

sudo /etc/init.d/winbind stop
sudo smbd restart
sudo /etc/init.d/winbind start 

Запускаем
sudo testparm

Смотрим есть ли ошибки или предупреждения, если появится:

«rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)»

Без перезагрузки можно устранить так:

ulimit -n 16384

Для сохранения после перезагрузки отредактировать файл /etc/security/limits.conf

# Добавить в конец файла строки:
*               -    nofile            16384
root            -    nofile            16384

После перезапуска проверьте, что Winbind установил доверительные отношения с AD командой:

# wbinfo -t
checking the trust secret for domain DCN via RPC calls succeeded

А так же, что Winbind увидел пользователей и группы из AD командами:

wbinfo -u
wbinfo -g

Добавление Winbind в качестве источника пользователей и групп

Редактируем /etc/nsswitch.conf

nano /etc/nsswitch.conf

Для этого измените две строчки в файле /etc/nsswitch.conf:

passwd:         compat
group:          compat

добавив к ним в конец winbind:

passwd:         compat winbind
group:          compat winbind

также рекомендую привести строку files в файле /etc/nsswitch.conf к виду:

files:          dns mdns4_minimal[NotFoud=return] mdns4

Теперь проверьте, что Ubuntu запрашивает у Winbind информацию о пользователях и группах, выполнив

getent passwd
getent group 

Авторизация в Ubuntu через пользователей домена

Для Ubuntu 10.04 и выше добавьте всего одну строку в файле /etc/pam.d/common-session, т.к. PAM и так неплохо справляется с авторизацией:

session  optional  pam_mkhomedir.so skel=/etc/skel/ umask=0077

Вход в систему

Редактируем файл /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

nano /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

Добавляем

allow-guest=false
greeter-show-manual-login=true

Сохраняемся и перезапускаем машину

reboot

После перезагрузки нажимаем войти и вводим

Пользователь: STUDY\alexey
Пароль: *********

Все вы в доменной учетной записи!!!!

Добавление с помощью domainjoin-gui

Предварительная настройка

Необходимо отредактировать файлик hosts  

       nano /etc/hosts
       192.168.0.5 ub.study.local ub #Имя локальной машины
       192.168.0.2 dc1.study.local dc1 #Пример ip сервера, прописать обязательно!

 Скачиваем необходимые пакеты. Пакеты скачиваем по необхдимости (в зависимости от архитектуры)

Устанавливаем скаченные пакеты

  • dpkg -i likewise-open-gui_6.1.0.406-0ubuntu5.1_amd64.deb
  • dpkg -i libglade2-0_2.6.4-2_amd64.deb
  • dpkg -i likewise-open-gui_6.1.0.406-0ubuntu5.1_amd64.deb

В случает если появляются ошибки, то запускаем команду 

apt-get insall -f

Затем повторяем установку dpkg

После установки запускаем

 sudo domainjoin-gui

Вводим имя компьютера (к которому подключаемся),домен, пользователя и пароль(Доменный Администратор или администратор) и нажимаем

Join Domain

Перезапускаем машину

reboot

Должно все получиться

Вход в систему

Редактируем файл /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

nano /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

Добавляем

allow-guest=false
greeter-show-manual-login=true

Сохраняемся и перезапускаем машину

reboot

После перезагрузки нажимаем войти и вводим

Пользователь: STUDY\alexey
Пароль: *********

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

sudo usermod -a -G sudo AD_administrative_user

Установка и настройка apache2+mysql+php5

В сегодняшней статье, поговорим об установке и настройке Web server c помощью apt-get. Просто, быстро, занимает минимум времени


 Установка

  1. Установим apache2
                   apt-get install apache2
          2.  Установим mysql-server mysql-client
                   apt-get install mysql-server mysql-client

          3.  Установим php5

Для поиска расширений для php нужно ввести вот такую команду

apt-cache search php5 |grep ^php5

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

apt-get install php5 php5-cgi php5-cli php5-curl php5-gd php5-json php5-mysql php5-xsl php5-apcu php5-imap php5-mcrypt php5-mysqlnd 

Далее включаем расширение php5 для apache2

a2enmod php5

Настройка

  •  Настроим apache2

В каталоге etc/apache2/  conf.d (если он присутствует). Я у себя не нашел!

Но и никаких сообщений об ошибках  и предупреждений я не обнаружил, Веб сервер перезагружался и работал, без проблем. Но все же для себя я создал.

mkdir conf.d
touch serv.conf - Пример
nano serv.conf
Server study.loc - пример

Далее запустим вот такую команду

a2enconf
  • Настроим php5

Все, что нужно сделать это только перейти в каталог .

cd /etc/apache2/mods-enabled/
nano dir.conf

И добавим

DirectoryIndex index.php

Все проверяем наш Веб сервер

В директории /var/www/apache2/. Создаем файлик index.php

touch index.php
nano index.php

Добавляем

<?php
phpinfo();
?>

Перезапускаем наш Веб сервер

service apache2 restart

и в браузере набираем localhost

Все должно получиться.

Ну и на последок

  • Установим phpmyadmin
apt-get install phpmyadmin

В процессе установки бедет задано пару вопросов, отвечаете, перезапускаете Веб сервер и набираете адрес

Ваш веб сервер(IP или доменное имя)/phpmyadmin

Это очень быстро, просто и не занимает много времени.

Удачи!

Mysql56:Установка в ubuntu 14.10-server из исходников

Аpache24 мы установили, теперь ставим mysql


 

Скачиваем последнюю версию mysql с официального сайта http://dev.mysql.com/downloads/

Нам потребуется MySQL Community Server на данный момент версия Server 5.6.25

Чтобы скачать нужно зарегистрироваться на сайте, регистрация простая!

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz

Распаковываем

tar zxvf mysql-5.6.25.tar.gz

Переходим в паку

cd mysql-5.6.25

Назначаем права

groupadd mysql
useradd -r -g mysql mysql

Чтобы установить mysql, нужно его скомпилировать. Для этого устанавливаем дополнительные пакеты: cmake — для компилирования, а остальные пакеты нужны для того, чтобы компиляция прошла без ошибок!

apt-get install cmake libaio1 build-essential libncurses5-dev

Запускаем процесс

cmake -DENABLE_DOWNLOADS=1 -DCMAKE_C_FLAGS="-O3 -g -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement" -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O3 -g -DDBUG_OFF" -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make
make install

Переходим в папку куда был установлен mysql (по умолчанию!)

cd /usr/local/mysql

Назначаем права

chown -R mysql .
chgrp -R mysql .

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

scripts/mysql_install_db --user=mysql

Назначаем права
chown -R root .
chown -R mysql data

Копируем

cp support-files/mysql.server /etc/init.d/mysql.server
service mysql.server start
update-rc.d mysql.server defaults
ln -s /usr/local/mysql/bin/* /usr/local/bin/
mysql_secure_installation

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

Ввод (Enter)
Затем нажимаем клавишу у(английская раскладка) и вводим свой пароль
Затем все Ввод (Enter)
И перезапускаем mysql командой
service mysql.server restart

Если все получилось, то пробуем зайти в mysql

mysql -u root -p

И пробуем ввести команду отображение баз

show databases;

Но бывает, что выскакивает вот такое сообщение 

mysql> show databases;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

Решается все просто:

mysql> SET PASSWORD = PASSWORD('root'); где root это Ваш новый пароль!
Query OK, 0 rows affected (0.00 sec)
mysql>flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed

Проверим еще раз

show databases;

Если нет ошибок то в терминале высветятся все установленные базы!

Выходим из консоли mysql командой:

mysql>exit

Решение возникающих проблем (Постепенно материал будет добавляться!)

Проблема:
mysql ругается на файлик mysql_safe (/usr/bin/mysqld_safe)
Решение:
Копируем файлик из /usr/local/bin/. Команда cp /usr/local/bin/mysqld_safe /usr/bin/

Проблема:

mysql не запускается пишет: The server quit without updating PID file

Решение:

Для начала удаляем процесс mysql — ps aux|grep mysql, удаляем процесcы kill -9 и вводим номер процесса (Например:22565), удалить необходимо 2 процесса. После этого переименовываем конфигурационный файлик my.cnf mv /etc/mysql/my.cnf my.cnf.old и перезапускаем mysql.

Apache24:Установка и настройка в Ubuntu из исходников

Процесс по установке apache24 достаточно трудоемкий, так что наберитесь терпения, поехали..


 

Чтобы установить httpd необходимо еще удовлетворить зависимости, и так…

  1. Установим apr и apr-util
  •     Устанавливаем apr
wget http://apache-mirror.rbc.ru/pub/apache//apr/apr-1.5.2.tar.gz

Распаковываем

tar zxvf apr-1.5.2.tar.gz

 Переходим в папку

cd apr-1.5.2
 ./configure --prefix=/srclib/apr

Бывает, что при компиляции, ругается, что нет библиотеки C, необходимо в этом случае набрать команду sudo apt-get install build-essential

В конце выскочит сообщение rm: cannot removelibtoolT’: No such file or directory config.status: executingdefault commandslibtool уже установлен, на это сообщение внимание обращать не стоит!
make
make install

2. Теперь устанавливаем apr-util

Качаем

wget http://apache-mirror.rbc.ru/pub/apache//apr/apr-util-1.5.4.tar.gz

 Распаковываем

tar zxvf apr-util-1.5.4.tar.gz

Переходим в папку

cd apr-util-1.5.4
./configure --prefix=/srclib/apr-util --with-apr=/srclib/apr
make
make install

 

3. Устанавливаем PCRE

Качаем

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz

Распаковываем

tar zxvf pcre-8.37.tar.gz

Переходим в папку

cd pcre-8.37

Установим необходимые зависимости

sudo apt-get install build-essential
./configure --prefix=/usr/pcre

make

make install

 

Теперь устанавливаем httpd

Качаем из официального сайта apache, самую последнюю версию на данный момент httpd 2.4.12

wget http://apache-mirror.rbc.ru/pub/apache//httpd/httpd-2.4.12.tar.gz

И рапаковываем

tar zxvf  httpd-2.4.12.tar.gz
cd httpd-2.4.12
./configure --prefix=/etc/http --with-apr=/srclib/apr --with-apr-util=/srclib/apr-util --with-pcre=/usr/pcre --enable-so
make
make install

Теперь запустим службу httpd

/etc/http/bin/./apachectl start
При запуске http выскочит следующее сообщение Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive   globally to suppress this message

 

Решается просто. Заходим в каталог куда установили наш веб-сервер и редактируем конфигурационный файл

nano /etc/http/conf/httpd.conf и добавляем строчку «ServerName localhost» и перезапускаем веб-сервер

Если все прошло успешно, то в браузере набираем http//localhost в браузере выскочит надпись «IT WORKS!»

Все работает, но как только мы перезагрузим компьютер http остановиться. Я решил проблему так:

nano /etc/rc.local

Добавил строку

/etc/http/bin/./apachectl start

Все теперь служба будет сама запускаться.

За более подробным описание обращаться с к справочному руководству, по адресу http://httpd.apache.org/docs/2.4/