1. Добавиль в настройки виртуального хоста следующее, где xxxx – номер порта, например, https://site.com:xxxx
Listen xxxx
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /var/www/html/site/site.crt
SSLCertificateKeyFile /var/www/html/site/site.key
2.Генерируем site.crt и site.key на 365 дней
cd /var/www/html/site
openssl req -x509 -days 365 -newkey rsa:2048 -keyout site.key -out site.crt
В данном случае при запуске apache будет запрашивать парольную фразу passphrase. Чтобы избежать это выполним следующее:
cp site.key site.key.org
openssl rsa -in site.key.org -out site.key
Генерирование самоподписанного сертификата (всегда untrusted) выгдядит так на 365 дней
openssl x509 -req -days 365 -in site.csr -signkey site.key -out site.crt
Имеем рабочий сервер под управлением FreeBSD 7.4
Необходимо обновить его до последней стабильной версии – 9.2
Основная причина – окончание поддержки FreeBSD 7.x и множество нерабочих портов.
Сразу обновить с 7.4 до 9.2 не получится, для начала надо сделать промежуточное обновление до 8.4.
Поехали…
1. Обновление 7.4 -> 8.4
удаляем старые исходники:
# rm -r /usr/obj
# rm -r /usr/src
закачиваем новые:
# svn co svn://svn.freebsd.org/base/stable/8 /usr/src
# cd /usr/src
# mergemaster -p
# make -j4 buildworld
# make -j4 buildkernel
# make installkernel
# make installworld
# mergemaster -iU
и получаем ошибку:
—-
*** Creating the temporary root environment in /var/tmp/temproot
*** /var/tmp/temproot ready for use
*** Creating and populating directory structure in /var/tmp/temproot
*** FATAL ERROR: Cannot ‘cd’ to /usr/src and install files to
the temproot environment
—-
поможет перезагрузка
# reboot
повторяем еще раз
# mergemaster -iU
ошибка не повторилась,
подтверждал все вопросы системы про удаление или выполнение(y)
# reboot
проверяем версию обновленной системы:
# uname -r
8.4-STABLE
2. теперь обновляю 8.4 -> 9.2
все аналогично предыдущему обновлению:
# rm -r /usr/obj
# rm -r /usr/src
# svn co svn://svn.freebsd.org/base/stable/9 /usr/src
# cd /usr/src
# mergemaster -p
# make -j4 buildworld
# make -j4 buildkernel
# make installkernel
# make installworld
# mergemaster -iU
# reboot
ОС не поднялась, ошибка загрузки системы “gm0s1a failed with error 19″:
–
Mounting from ufs:/dev/mirror/gm0s1a failed with error 19.
Loader variables:
vfs.root.mountfrom=ufs:/dev/mirror/gm0s1a
vfs.root.mountfrom.options=rw
Manual root filesystem specification:
Mount
and with the specified (optional) option list.
eg. ufs:/dev/da0s1a
zfs:tank
cd9660:/dev/acd0 ro
(which is equivalent to: mount -t cd9660 -o ro /dev/acd0 /)
? List valid disk boot devices
. Yield 1 second (for background tasks)
mountroot>
–
т.к. сервер HP ProLiant DL120 G5, то зашел в iLo и перегрузил сервер,
после чего в loader prompt и выполнены команды:
–
OK set kern.geom.part.check_integrity=0
OK boot
–
при этом с ходу зайти в iLo не удалось, вылезла ошибка:
–
iLO remote console crashes with error “com.serverengines.rdr.EndOfStream: EndOfStream”
–
проблема с iLo решена по этому мануалу.
поехали дальше…
проблема с загрузкой ОС возникает при наличии программного RAID – gmirror
проверить можно так:
# gpart status
Name Status Components
mirror/gm0s1 CORRUPT mirror/gm0
# gpart show
=> 63 488397104 mirror/gm0 MBR (232G) [CORRUPT]
63 488397105 1 freebsd [active] (232G)
=> 0 488397105 mirror/gm0s1 BSD (232G)
0 20971520 1 freebsd-ufs (10G)
20971520 8288698 2 freebsd-swap (4G)
29260218 20971520 4 freebsd-ufs (10G)
50231738 204800000 5 freebsd-ufs (97G)
255031738 233365367 6 freebsd-ufs (111G)
======================
есть три решения:
1) отключить механизм целостности разделов:
# echo “kern.geom.part.check_integrity=0″ >> /boot/loader.conf
2) временно отключить проверку и последовательно пересоздать каждую из нод зеркала
3) временно отключить проверку и загрузится в single mode и прогнать fsck
до окончания обновления выбран 1-й вариант, продолжение следует
проверяем версию обновленной системы:
# uname -r
9.2-STABLE
3. обновление портов
удаляем старые исходники портов:
# rm -r /usr/ports
получаем новые:
# portsnap fetch
# portsnap extract
# portsnap fetch update
указываем нужную версию питона
# echo “DEFAULT_VERSIONS=python=2.7 python2=2.7 python3=3.3″ >> /etc/make.conf
сперва обновляем утилиту обновления портов:
# portupgrade -frR portupgrade
а потом и все остальные порты:
# portupgrade -farR
Взято от сюда http://www.net-adm.ru/articles/57-upgrade-freebsd-7-to-9.html
apt-get install locales – на все вопросы вносим Y.
vi /etc/environment – открываем файл на редактирование и удаляем из него любые записи и вносим одну: LANG=”ru_RU.UTF-8″
Помощь по использованию vi находится здесь: Vi или откройте файл через WinSCP
Редактируем файл /etc/locale.gen тем же vi: vi /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: SSH):
После того как Вы вошли на сервер, кликните на верхнюю часть окна Putty правой кнопкой мыши, выше черного. Выберите
Change Settings -> Window – Translation -> из списка выберите UTF-8 и нажмите Apply внизу.
Теперь Вы сможете видеть русский язык в окне связи с сервером при выполнении различных команд.
Чтобы пакеты устанавливать легко с помощью команды
yum install [packet]
Изменяем настройки файла /etc/yum.conf.d. Можно прям в него добавить или сделать так, как написано в конце этого файла, следующие строки:
[centos-base]
name=CentOS-5 – Base
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=os
enabled=1
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#released updates
[centos-updates]
name=CentOS-5 – Updates
baseurl=http://mirror.centos.org/centos/5/updates/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
И всё
Для настройки доступа по ssh к консоли с помощью putty необходимо в терминале сервера сгенерировать пару ключей:
1) Создать каталог в домашней папке пользователя ~user/.ssh (обычно ~user находится в /home/user)
mkdir ~user/.ssh
cd ~user/.ssh
2) Сгенерировать ключ, указав путь файла ~user/.ssh/id_rsa
ssh-keygen -t rsa -b 2048
3) Появятся два файла id_rsa и id_rsa.pub. Это файлы чачтного и публичного ключей.
На сервере хранится публичный ключ. Скопируем в тот файл, который используется sshd.
cp id_rsa authorized_keys
4) authorized_keys должен лежать в каталоге ~user/.ssh. Он будет использоваться sshd для проверки частного ключа. Частный ключ отправим безопасно пользователю:
ssh-copy-id -i private_key_file user@machine (где private_key_file это файл rsa)
или небезопасно его можно просто скопировать любым доступным способом на машину пользователя.
5) Далее, если подключение будет происходить с помощью putty, то необходимо сгенерировать специальный ключ утилитой “PUTTY Key Generator” (ее надо качать отдельно) таким образом:
Запускае утилиту. Нажимаем кнопку Load, и открываем файл private_key_file. Далее нажимаем Save private key. Сохранится файл с ключем под названием private_key_file.ppk
После этого этот файл можно использовать при подключении по ssh через Putty.
6) Осталось настроить sshd на сервере. Для этого корректируем файл sshd_config:
vim /etc/ssh/sshd_config
Закомментировать (знаком #) строки
PasswordAuthentication yes
PermitEmptyPasswords no
Параметр LoginGraceTime (время, за которое необходимо ввести пароль) установить равным 15 сек.
LoginGraceTime 15
Также можно использовать для ограничения доступа только для определенных пользователей строку:
AllowUsers user user1 user2 user3
Сохраняем файл и перезапускаем sshd. На redhat таким образом:
service sshd restart
В redhat добавить в автозагрузку:
chkconfig –add [имя]
Пример
chkconfig –add postfix
Посмотреть список
chkconfig –list
В FreeBSD найти файл /etc/rc.conf и добавить строку
[имя]_enable=”YES”
Пример
defaultrouter=”xx.xx.xx.xx”
gateway_enable=”YES”
hostname=”freebsdhost.ru”
ifconfig_em1=”inet yy.yy.yy.yy netmask 255.255.0.0″
inetd_enable=”YES”
keymap=”ru.koi8-r”
linux_enable=”YES”
moused_enable=”YES”
sshd_enable=”YES”
mysql_enable=”YES”
gdm_enable=”YES”
gdm_lang=”ru_RU.UTF-8″
Сами скрипты, которые запускает rc.conf лежат в директории /etc/rc.d.
Более подробно все есть в man rc.conf. Там же описывается что такое ifconfig_em1, hostname.
Ctrl и Shift обозначают соответствующие клавиши клавиатуры, Meta – условное обозначение для набора мета-клавиш, на современном PC это обычно Alt или Esc
Горячие клавиши для файловых панелей
F3 | Просмотр файла |
F4 | Редактирование файла |
Insert | Выделение текущего объекта |
+ | вызывает окно для выделения группы файлов (можно использовать регулярные выражения) |
\ | снимает отметку с группы файлов (действие, обратное тому, которое вызывается по клавише +) |
Meta+Enter | Вставить ‘текущий объект’1 в командную строку |
Meta+. | не показывать или показать скрытые файлы или каталоги (начинаются на точку ‘.’) |
Meta+, | Переключить режим отображения панелей (вертикально/горизонтально)2 |
Meta+a Ctrl+x,p |
Посылает в командную строку полный путь в текущей активной панели |
Meta+c | Вызывается меню быстрой смены текущего каталога на активной панели |
Meta+g | отмечает первый файл или каталог в отображаемом списке на панели |
Meta+h | Вызов меню последних выполненных команд |
Meta+i | Смена текущего каталога на неактивной панели, на каталог в котором вы находитесь в активной панели |
Meta+j | отмечает последний файл или каталог в отображаемом списке на панели |
Meta+n | Вернуть последующую выполненную командную строку |
Meta+o | неактивная панель переходит в каталог на который указывает активная панель |
Meta+p | Вернуть предыдущую выполненную командную строку |
Meta+r | отмечает средний файл или каталог в отображаемом списке на панели |
Meta+t | Смена режима работы панели (‘Стандартный’,'Укороченный’,'Расширенны |
Meta+Shift+? | Вызывается меню расширенного поиска файлов |
Meta+Shift+A Ctrl+x,Ctrl+p |
Посылает в командную строку полный путь в нективной панели |
Meta+Shift+H | Отобразить историю каталогов |
Ctrl+\ | Вызывается меню часто используемых каталогов |
Ctrl+l | Перерисовать экран |
Ctrl+o | Скрытие/показ панелей |
Ctrl+r | перечитать содержимое каталога |
Ctrl+s | Быстрый поиск файла или каталога |
Ctrl+Space | Показать размер текущего каталога |
Ctrl+x,a | Отображается список активных соединений виртуальных файловых систем |
Ctrl+x,c | Просмотр/правка прав доступа текущего объекта |
Ctrl+x,i | Быстрый просмотр информации о текущем объекте на второй панели |
Ctrl+x,j | Показ фоновых задач |
Ctrl+x,l | Создать жесткую ссылку с текущего объекта |
Ctrl+x,o | Просмотр/правка владельца/группы для текущего объекта |
Ctrl+x,q | Быстрый просмотр содержимого файла на второй панели |
Ctrl+x,s | Создает символьную ссылку symlink для текущего объекта |
Ctrl+x,t | Вставка всех выделенных объектов в командную строку |
Ctrl+x,Ctrl+s | Редактировать символическую ссылку |
Shift+F1 | Вызывается меню быстрого перехода между точками монтирования на левой панели |
Shift+F2 | Вызывается меню быстрого перехода между точками монтирования на правой панели |
Shift+F3 | Просмотр файла raw без учета расширения |
Shift+F4 | Создает новый файл |
Горячие клавиши для редактора
F3 | Начать выделение текста. Повторное нажатие F3 закончит выделение |
Shift+F3 | Начать выделение блока текста. Повторное нажатие F3 закончит выделение |
F5 | Скопировать выделенный текст |
F6 | Переместить выделенный текст |
F8 | Удалить выделенный текст |
Meta+i | Переключение режима “Автовыравнивание возвратом каретки”, удобно при вставке отформатированного текста из буфера обмена |
Meta+l | Переход к строке по её номеру |
Meta+q | Вставка литерала (непечатного символа).См. таблицу ниже |
Meta+t | Сортировка строк выделенного текста |
Meta+u | Выполнить внешнюю команду и вставить в позицию под курсором её вывод |
Ctrl+f | Занести выделенный фрагмент во внутренний буфер обмена mc (записать во внешний файл) |
Ctrl+k | Удалить часть строки до конца строки |
Ctrl+n | Создать новый файл |
Ctrl+s | Включить или выключить подсветку синтаксиса |
Ctrl+t | Выбрать кодировку текста |
Ctrl+u | Отменить действия |
Ctrl+x | Перейти в конец следующего |
Ctrl+y | Удалить строку |
Ctrl+z | Перейти на начало предыдущего слова |
Shift+F5 | Вставка текста из внутреннего буфера обмена mc (прочитать внешний файл) |
Meta+Enter | Диалог перехода к определению функции |
Meta+- | Возврат после перехода к определению функции |
Meta++ | Переход вперед к определению функции |
Meta+n | Включение/отключение отображения номеров строк |
tab | Отодвигает вправо выделенный текст, если выключена опция “Постоянные блоки” |
Meta-tab | Отодвигает влево выделенный текст, если выключена опция “Постоянные блоки” |
Shift+Стрелки | Выделение текста |
Meta+Стрелки | Выделение вертикального блока |
Meta+Shift+- | Переключение режима отображения табуляций и пробелов |
Meta+Shift++ | Переключение режима “Автовыравнивание возвратом каретки” |
Shift+Ins | Вставить текст из буфера |
HEX | Dec | Клавиша | Описание |
01 | 1 | Meta+q,a | |
02 | 2 | Meta+q,n | |
03 | 3 | Meta+q,v | |
04 | 4 | Meta+q,d | |
05 | 5 | Meta+q,e | |
06 | 6 | Meta+q,f | |
07 | 7 | Meta+q,g | |
08 | 8 | Meta+q,h | |
09 | 9 | Meta+q,i | TAB |
0A | 10 | Meta+q,j | |
0B | 11 | Meta+q,k | |
0C | 12 | Meta+q,l | |
0E | 14 | Meta+q,m | |
0F | 15 | Meta+q,o | |
10 | 16 | Meta+q,p | |
11 | 17 | Meta+q,q | |
12 | 18 | Meta+q,r | |
13 | 19 | Meta+q,s | |
14 | 20 | Meta+q,t | |
15 | 21 | Meta+q,u | |
16 | 22 | Meta+q,b | |
17 | 23 | Meta+q,w | |
18 | 24 | Meta+q,c | |
19 | 25 | Meta+q,y | |
1A | 26 | Meta+q,x | |
1B | 27 | Meta+q,z Meta+q,Esc,Esc |
Источник: взято отсюда с изменениями
Сначала надо скачать базу с часовыми поясами с сайта www.iana.org/time-zones.
Далее этой базой заменим старую в системе.
Рассмотрим обновление на примере московского часового пояса.
Посмотрим расхождение с UTC
zdump -v /usr/share/zoneinfo/Europe/Moscow Сделаем резервную копию
cp /usr/share/zoneinfo/Europe/Moscow /usr/share/zoneinfo/Europe/Moscow.bkp Скачаем базу tzdata2013d.tar.gz в каталог /tmp
cd /tmpwget www.iana.org/time-zones/repository/releases/tzdata2013d.tar.gz
mkdir /tmp/tzdata2013d
tar xfv tzdata2013d.tar.gz -C /tmp/tzdata2013d Компилируем и заменяем старый файл
zic -d zoneinfo europe
cp zoneinfo/Europe/Moscow /usr/share/zoneinfo/Europe/Moscow Далее выставляем в системе часовой поясcp /usr/share/zoneinfo/Europe/Moscow /etc/localtime Устанавливаем времяntpdate x.x.x.x где х.х.х.х - адрес ntp, например, с сайта http://www.ntp-servers.net/servers.html Смотрим date
Основные настройки крона находятся в файле /etc/crontab
Структура строки конфигурации:
# * * * * * [команда для выполнения] # ┬ ┬ ┬ ┬ ┬ # │ │ │ │ │ # │ │ │ │ │ # │ │ │ │ └───── день недели (0 - 6) (0 to 6 are Sunday to Saturday, or use names) # │ │ │ └────────── месяц (1 - 12) # │ │ └─────────────── день месяца (1 - 31) # │ └──────────────────── час (0 - 23) # └───────────────────────── минута (0 - 59)
# выполнять каждый день в 0 часов 5 минут, результат складывать в log/daily 5 0 * * * $HOME/bin/daily.job >> $HOME/log/daily 2>&1 # выполнять 1 числа каждого месяца в 14 часов 15 минут 15 14 1 * * $HOME/bin/monthly # каждый рабочий день в 22:00 0 22 * * 1-5 echo "Пора домой" | mail -s "Уже 22:00" john 23 */2 * * * echo "Выполняется в 0:23, 2:23, 4:23 и т. д." 5 4 * * sun echo "Выполняется в 4:05 в воскресенье" 0 0 1 1 * echo "С новым годом!" 15 10,13 * * 1,4 echo "Эта надпись выводится в понедельник и четверг в 10:15 и 13:15" 0-59 * * * * echo "Выполняется ежеминутно" 0-59/2 * * * * echo "Выполняется по четным минутам" 1-59/2 * * * * echo "Выполняется по нечетным минутам" # каждые 5 минут */5 * * * * echo "Прошло пять минут" Перезапустить cron в freebsd/etc/rc.d/cron restart
Перезапустить cron в red hatservice crond restart
Для работы с пользователями используются файл /etc/group, /etc/passwd и /etc/shallow.
В последнем хранятся хэшированные пароли.
1. Структура файла /etc/group
cdrom:x:24:vivek,student13,raj _____ _ _ _____ | | | | | | | | 1 2 3 4где 1 - имя группы, 2 - показывает место пароля (не используется), 3 - ID группы (GID), 4 - список пользователей, состоящих в группе.
Посмотреть в каких группах состоит пользователь:
grep username /etc/group
Посмотреть в какие пользователи в группе:
grep groupname /etc/group
Чтобы добавить пользователя username в группу groupname, набираем:
usermod -a -G groupname username
(или usermod -G groupname username)
Если пользователя еще нет:
a) добавить в существующую группу
useradd -G groupname username
б). добавить в существующую группу и группу для пользователя сделать первичной
useradd -g groupname username
Если группы нет, создать ее надо командой:
groupadd groupname
2. Структура файла /etc/passwd
где 1 – имя пользователя, 2 – пароль, который в зашифрованном виде хранится в /etc/shadow,
3 – ID пользователя (UID), 4 – ID группы (GID), 5 – комментарии, 6 – путь к домашней директории, 7 -путь расположения коммандной оболочки для пользователя.
3. Удалить пользователя
userdel usrname
Удалить группу
groupdel groupname
Recent Comments