Whereis

11 03 2010

На днях надо было добавить пользователя на сервер для теста скриптов набираю useradd и чуток в ступор погружаюсь:
[user@localhost home]$ useradd
-bash: useradd: команда не найдена

Гавно вопрос, как грится, счас засетапим! :)
[root@localhost backlinker]# yum install useradd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirror.yandex.ru
* base: mirror.yandex.ru
* centosplus: mirror.yandex.ru
* epel: mirror.yandex.ru
* extras: mirror.yandex.ru
* rpmforge: ftp-stud.fht-esslingen.de
* updates: mirror.yandex.ru
Reducing CentOS-5 Testing to included packages only
Finished
Setting up Install Process
No package useradd available.
Nothing to do

уже хуже… Может она называется по другому?… Вряд - ли, скорее всего входит в состав какого - нить пакета, а какого - х.з…. Что делать?

Уже хотел гуглить, но вспомнил что есть замечательная команда whereis! Набираем:
[user@localhost home]$ whereis useradd
useradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz

Ура! Занавес :)


Установка модуля geoip в апач, centos

29 01 2010

Эта - же инструкция подойдёт для RHEL и Fedora.

При скачке всех файлов проверяйте чтобы они были последних версий. На момент произведения действий считается что апач уже установлен и работает (проверьте).

Итак, первое:
bash# yum install GeoIP GeoIP-devel httpd-devel
затем
bash# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
bash# gunzip GeoIP.dat.gz
bash# mv GeoIP.dat /var/lib/GeoIP/GeoIP.dat
bash# wget http://geolite.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_1.2.5.tar.gz
bash# tar xzf mod_geoip2_1.2.5.tar.gz
bash# cd mod_geoip2_1.2.5

Если у вас стоит 64 битная OS - меняем /usr/lib -> /usr/lib64
bash# apxs -i -a -L/usr/lib -I/usr/include -lGeoIP -c mod_geoip.c

Открываем конфиг апача
bash# nano /etc/httpd/conf/httpd.conf
и проверяем наличие загрузки модуля и указания местоположения базы, если чего - то не хватает - добавляем.
LoadModule geoip_module /usr/lib64/httpd/modules/mod_geoip.so
GeoIPEnable On
GeoIPDBFile /var/lib/GeoIP/GeoIP.dat

Рестарт апача:
bash# /sbin/service httpd restart
В вашей системе это может быть service или /bin/service, проверяйте командой whereis service.

Должно показать [OK], если что - то другое - читаем ошибку и правим конфиг апача.


Добавляем юзера

16 02 2009

Взяли сервак, получили рута. Но работать под рутом нельзя, он только для настройки, нужно создать юзера. Сделать это просто:

useradd LOGIN

Создастся папка /home/LOGIN/ с правами этого юзера. Далее, чтобы присвоить ему пароль делаем:

passwd LOGIN

Вводим новый пароль и подтверждаем его. Затем:

su LOGIN

passwd

Меняем пароль, подтверждаем изменения. (Не спрашивайте зачем это надо).

Пользователь готов. Он имеет ssh вход (если установлен ssh) и ftp, если установлен ftp и т.д.


Создаём базу mysql

9 02 2009

Итак, пароль рутовый восстановили, переходим к созданию БД…

  1. Логинимся рутом к базе в шелле: mysql -uroot -pВАШ_ПАРОЛЬ mysql
  2. Создаём базу данных: create database ИМЯ_БАЗЫ_ДАННЫХ;
  3. Даём привилегии (доступ и право управления) пользователю, если его нет - он создастся:
    grant all on ИМЯ_БАЗЫ_ДАННЫХ.* to ИМЯ_ПОЛЬЗОВАТЕЛЯ identified by ‘ПАРОЛЬ’;
    Тут есть подводные камни: один и тот - же пользователь не может получить разные пароли для доступа к разным БД. Если такой пользователь уже есть - ему пропишется новый пароль
  4. Сбрасываем во внутенний кеш mysql данные по юзеру и доступу: flush privileges;

Вроде всё, если есть вопросы или что - то не пашет - пишите в комменты :)


Опять квоты

1 02 2009

В дополнение к статье о квотах.

Итак…:

  1. Редактирование файла квот осуществляется командой edquota USERNAME
    где USERNAME - сами знаете что. Это для беспамятливых и убогих типа меня ремарка :)
  2. Большинство команд Linux не являются командами ОС или баша, это обычные исполняемые файлы, бинарники. Соответственно если вы вводите из без путя к ним - они не запускаются (еврика блин :) ). Т.е., если у вас выходит вот это:
    [root@server user]# edquota user
    bash: edquota: command not found

    Не отчаивайтесь. Для начала сделайте вот это:
    [root@server sbin]# find / -iname edquota

    /usr/sbin/edquota
    О чудо - данная програмулина у нас есть! только путь к ней в системе не прописан :)

  3. Далее, запускаем редактор квот, а он….
    [root@server user]# /usr/sbin/edquota user
    edquota: Can’t exec /usr/bin/nano

    … хостер забыл поставить редактор nano, а он в конфиге сервера забыл подправить чтоб другой вызывался. Не отчаиваемся, ставим нано:
    [root@server user]# yum install nano
    Loading “fastestmirror” plugin
    Loading mirror speeds from cached hostfile
    * epel: ftp.uni-koeln.de
    * base: centos.intergenia.de
    * updates: centos.intergenia.de
    * addons: centos.intergenia.de
    * extras: centos.intergenia.de
    Setting up Install Process
    Parsing package install arguments
    Resolving Dependencies
    –> Running transaction check
    —> Package nano.i386 0:1.3.12-1.1 set to be updated
    –> Finished Dependency Resolution

    Dependencies Resolved

    =============================================================================
    Package Arch Version Repository Size
    =============================================================================
    Installing:
    nano i386 1.3.12-1.1 base 476 k

    Transaction Summary
    =============================================================================
    Install 1 Package(s)
    Update 0 Package(s)
    Remove 0 Package(s)

    Total download size: 476 k
    Is this ok [y/N]: y
    Downloading Packages:
    (1/1): nano-1.3.12-1.1.i3 100% |=========================| 476 kB 00:00
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Installing: nano ######################### [1/1]

    Installed: nano.i386 0:1.3.12-1.1
    Complete!

  4. Ура :) теперь всё запускается как надо (не забываем пути указывать).

Mysql, сброс root пароля

28 01 2009

Итак, c IP которые хостер забыл привязать к серваку разобрались. Пиздюлей хостеру за то что он роуты забыл прописать тоже дали. Пытаемся коннектиться к мускулю без пароля - фиг. Пароль хостер поставил.. но забыл. ПРедлагает попробовать с паролем ssh root - ясное дело не получается. Что делать?

  1. service mysqld stop, останавливаем сервис
  2. Запускаем в сейф режиме без проверки грантов. Будьте внимательны - около каждой опции два тире: /usr/bin/mysqld_safe –user=root –skip-grant-tables &
  3. Логинимся рутом без пароля: mysql -uroot
  4. Переходим в системную базу данных, use mysql;
  5. Обновляем пароль, обычный апдейт: UPDATE user SET Password=PASSWORD(’ВАШ НОВЫЙ ПАРОЛЬ’) WHERE User=’root’;
  6. Сбрасываем привилегии. Видимо они где - то ещё хранятся, и при логине от туда берутся. FLUSH PRIVILEGES;
  7. Выходим из мускуля, exit
  8. Перегружаем сервис, service mysqld restart

Да… могут быть проблемы если у вас не может создаться временный файл, pid или socket файл. Это в принципе не относится к паролю, но советую при любых проблемах проверять прежде всего это. Папка tmp должна быть доступна для записи и чтения всем, папки куда пишутся pid и сокет файлы читайте в конфигах софтов, они должны принадлежать соотв. юзеру (как правило одноимённый с сервисом) или быть доступны для всех.


Админский юмор

26 01 2009

Недавно читал вот тут вот это:

Работаю админом в бюджетной организации. Подходит сотрудница и задает потрясающий по своей значимости вопрос: “Как мне создать файл?” К такого рода вопросам я уже привык, поэтому делаю спокойно-умиротворенное лицо и спрашиваю:
- Какой файл Вам надо создать?
- Ну как какой? Мне нужно ПРОСТО ФАЙЛ!”
- И что,-говорю, Вы собираетесь с этим ПРОСТО ФАЙЛОМ делать?
- Мне нужно его СОЗДАТЬ.
- С какой целью Вам нужно его СОЗДАТЬ?
- Чтобы игра заработала.
- Какая игра?
- Мы вчера племяннице купили игру, установили, а она говорит, что нет какого-то файла. Я и хотела его создать и почти создала, только он почему-то не работает.
Ай, думаю, какая молодец, за вечер состряпала DirectX-ную динамическую библиотеку, какие таланты пропадают…
-Вы вообще, - говорю, - представляете, что такое ФАЙЛ? Понятие “расширение” Вам о чем-нибудь говорит? Я уже не говорю о внутреннем содержании…
-Ну файл-это же вроде бы для памяти что-то…
Все, думаю, пошла мука на Тобольск, объяснять бесполезно-только нервы портить…Нарисовал картинку, что да как, куда и сколько раз нажать. Взяла. Прошла несколько шагов, остановилась и гордо сказала:
- А я все равно вечером еще раз попробую!

Так вот, не далее как сегодня вот такой случай :)

[root@server named]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: httpd: Syntax error on line 995 of /etc/httpd/conf/httpd.conf: Could not open configuration file /etc/httpd/conf/server.conf: No such file or directory
[FAILED]

Не долго думая:

[root@server named]# touch /etc/httpd/conf/server.conf
[root@server named]# service httpd restart
Stopping httpd: [FAILED]
Starting httpd: [ OK ]

Вуаля ;)

Для неадминов: Сервер apache не хотел запускаться так как не находил один из файлов конфига. Я создал пустой файл конфига, сервер запустился :)




Блогун - монетизируем блоги