LINUX.ORG.RU

Сообщения ABTOMAT

 

Apache: указание папки сайта по протоколу smb

Здорово парни! Есть такая вот ситуация: В доме два компа. 1. Мой рабочий комп, мощная машина. Оснащена SSD-накопителем, где у меня хранятся все Web-проекты для работы. Работает очень шустро на SSD, в отличие от HDD, потому там и храню. На компе стоит Седьмая Винда (Надеюсь, тред не скатится в обсуждение того, какая ОС должна стоять на рабочей машине, я люблю их все одинаково)

2. Домашний сервер. Собран из стареньких железок, кое-где подпаян и подлатан. Крутится на нём Убунту 12.04 LTS. А на ней — Пыха с Апачем. По протоколу SMB (виндовый протокол передачи файлов) при помощи Samba на сервере, я с рабочей машины меняю там файлы. Ставлю эксперименты, и т.д., т.к. считаю, что сервер всё же должен быть под пингвинами, да и крутится он 24/7, как-никак.

И вот всё было хорошо до тех пор, пока я не решился делать для себя довольно большой цельный проект (до этого были наработки, запилы разные, тесты какой-то одной штуки и т.д.). Т.к. работаю я над ним один, решил прямо на сервер его положить и с рабочего компа по SMB менять. Но чёрт возьми! Как же медленно жуются файлы на дряхлом винте! А ещё по сети. А ещё NetBeans постоянно сканит все файлы проекта, чтобы потом делать подсказки при написании кода. Пока рабочие проекты лежат на SSD, всё это летает. Но когда проект лежит на указанном серве, тормоза жуткие.

В итоге я решил вот что: хранить проект у меня на SSD, а Apache заставить по SMB лазить ко мне на комп за файлами. Тем более, что этот проект до завершения мне 24/7 не нужен. В Винде, если надо указать сетевой путь, то в начале пишется через два бекслеша IP целевой машины и далее путь. А как на Linux-машине указать путь к виндовой?

 , , ,

ABTOMAT
()

Вопрос о конфигурации PHP для компиляции: что такое shared?

Доров, посоны.
Давеча понадобилось мне запилить soap для php на хостинге media-temple.
Сделал по инструкции http://wiki.mediatemple.net/w/(dv)_3.5:Configure_PHP_5_with_SOAP

Всё огонь, всё работает. Одна вещь мне непонятна: что такое

./configure --enable-soap=shared

а именно что значит =shared ? Порывшись в Интернетах, я ничего не нашёл. В справке ./configure --help есть только упоминание об этом параметре как просто --enable-soap, без каких-либо дополнительных опций. Так всё же что означает =shared в данном случае ?

ABTOMAT
()

nginx - вручную указать IP для домена

Моя история такова: когда я делаю сайты, то делаю сразу под «итоговый» домен. При разработке я настраиваю виртуальный хост под этот домен и т.д., а на рабочей машинке меняю hosts, чтобы она думала, будто тот сайт лежит на development-сервере.

В файле /etc/hosts то есть сую строку

айпишник_куда_надо домен.ком

Когда всё готово - я беру сайт в охапку и кладу как есть на тот сервер, где он будет хоститься долго и счастливо и куда укажут все DNS.
И были все счастливы, пока мне не понадобилось поставить nginx.

Апач на 8080-й порт повесил, стало быть nginx с него будет странички вытаскивать.

Вот только проблема: домен-то ненастоящий! А именно балуюсь я на домене имени меня, «abtomat.com». При изменённом host-файле всё отлично. Но вот врубаем ngnix...

proxy_pass http://abtomat.com:8080$request_uri;

ngnix идёт на DNS (видимо в обход системного ресолвера доменов), а DNS его отправляет далеко не туда, куда надо (а надо на 127.0.0.1) в результате нет там ничего на 8080-м порту, держите ошибку 502.

Попробовал в конфиге в качестве Ресолвера выставить 127.0.0.1 (чтоб, значит, система отвечала то, что в host'е лежит). Теперь вообще не работает (выдержка из лога нгинкса):

2012/02/07 07:35:29 [error] 11758#0: *1 abtomat.com could not be resolved (110: Operation timed out), client: 89.112.11.xx, server: abtomat.com, request: «GET / HTTP/1.1», host: «abtomat.com»

В то время как ping abtomat.com выдаёт исправно 127.0.0.1

Так вот. Как вручную прописать nginx'у его несчастные домены, чтоб он знал куда лезть?

ABTOMAT
()

Создать SSH-юзера шоб не лазил где попало

Итак, сэры!
Пришёл я вновь к вам за советом мудрым.
Суть такова:
Мне нужно сделать, чтобы один товарищ с ником LOGIN и паролем PASSWORD мог:
1. Залазить по определённому логину/паролю по SSH
2. Сидеть в своей папочке, делать любые операции в ней создавать/удалять файлыв/папки, копировать/перемещать и т.д., короче, полная свобода в отдельно взятой папке, при этом не мог смотреть что находится в каталогах выше.
3. Юзать системные утилиты - chmod, grep, screen, tmux и т.д., опять же - только в пределах своего домика.
4. Юзать вот такую вещь:

mono ololo.exe

(да, мы быдло и пишем на шарпах, уж как есть)
Сам этот ololo.exe юзер загружать будет по FTP.

Так вот, господа, какие ваши мысли по поводу того, как это лучше всего устроить?

В данный момент сделал вот как:
Сделал adduser'ом такого юзера с домиком. Вроде ок, но он всё равно может вылазить за пределы «домика» и смотреть что там.
FTP сделан VSFTPD'ом с виртуальными юзерами. Тут при всех плюсах такая бедень: FTP работает от другого юзера, нежели тот, что лезел в SSH, и получается, что SSH-юзер прав на файлы, залитые по FTP не имеет.

Хотел сделать chroot, но тогда юзер лососнёт тунца, ведь у него не будет даже баша. Как быть с этим?

ABTOMAT
()

[xubuntu] DNS Lookup Failed

This webpage is not available
The server at google.com can't be found, because the DNS lookup failed.

Обновил xubuntu с 11.04 до 11.10. Попытался залезть в гугл - вот такое. Точно то же на любой странице в Интернете. В hosts-файл запись помогает, но не вписывать же туда весь Интернет? До обновления было всё нормально.

С чего начать исправление? Интернет и локальная сеть даются по витой паре с роутера DLink DIR-320 (родная прошивка). Винда, например, сразу «подсасывается». И Ксубунта тоже так сделала (ничего не менял в настройках), когда поставил её.

 

ABTOMAT
()

[proftpd] Не даёт список файлов

Приветствие! Ситуация такова: была xubuntu 11.04 и крутился на ней proftpd. Для его настройки юзался gadmin-proftpd. Единственное, что я сделал руками - это закомментил LoadModule mod_tls.c (юзание ключей в мои планы не входило). Все жили долго и счастливо, пока...
...не вышел Oeneric Ocelot. И чёрт меня дёрнул обновить систему. Сразу вылезла куча глюков, большинство которых я уже ликвидировал. Но вот с proftpd - беда. Запускаться он отказался:

- Fatal: LoadModule: error loading module 'mod_vroot.c': Operation not permitted on line 14 of '/etc/proftpd/proftpd.conf'

Ну что ж, закомментировал. ОК, запустился. При помощи FTP-клиента логинюсь и не вижу списка файлов. Заливать - могу, всё замечательно. А вот списка файлов нет.

Переустановил полностью (т.к. был всего один юзер там - не жалко). Убрал, как и раньше, mod_tls.c, мешавший запуску. На этот раз на mod_vroot.c уже не ругалось, да и в конфиге уже о нём ничего сказано не было. Создал снова такого же юзера на ту же папку. Логинюсь - та же проблема! Я юзал Total Commander (на винде), попробовал другим клиентом - Filezill'ой.

Команда: PASV
Ответ: 227 Entering Passive Mode
Команда: MLSD
Ошибка: Соединение закрыто сервером
Ошибка: Не могу получить список каталогов!

Значит, дело не в клиенте. Вопрос: где копать? Почему это могло произойти?

Конфиг вот:

ModulePath /usr/lib/proftpd
LoadModule mod_ctrls_admin.c
#LoadModule mod_tls.c
LoadModule mod_radius.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_file.c
LoadModule mod_quotatab_radius.c
LoadModule mod_wrap.c
LoadModule mod_rewrite.c
LoadModule mod_load.c
LoadModule mod_ban.c
LoadModule mod_wrap2.c
LoadModule mod_wrap2_file.c
LoadModule mod_dynmasq.c
LoadModule mod_exec.c
LoadModule mod_shaper.c
LoadModule mod_ratio.c
LoadModule mod_site_misc.c
LoadModule mod_sftp.c
LoadModule mod_sftp_pam.c
LoadModule mod_facl.c
LoadModule mod_unique_id.c
LoadModule mod_copy.c
LoadModule mod_deflate.c
LoadModule mod_ifversion.c
LoadModule mod_tls_memcache.c
LoadModule mod_ifsession.c
ServerType standalone
DefaultServer on
Umask 022
ServerName «0.0.0.0»
ServerIdent on «My FTP Server»
ServerAdmin email@example.org
IdentLookups off
UseReverseDNS off
Port 21
PassivePorts 49152 65534
#MasqueradeAddress None
TimesGMT off
MaxInstances 30
MaxLoginAttempts 3
TimeoutLogin 300
TimeoutNoTransfer 120
TimeoutIdle 120
DisplayLogin welcome.msg
DisplayChdir .message
User nobody
Group nobody
DirFakeUser off nobody
DirFakeGroup off nobody
DefaultTransferMode ascii
AllowForeignAddress off
AllowRetrieveRestart on
AllowStoreRestart on
DeleteAbortedStores off
TransferRate RETR 1000
TransferRate STOR 1000
TransferRate STOU 1000
TransferRate APPE 1000
SystemLog /var/log/secure
RequireValidShell off
<IfModule mod_tls.c>
TLSEngine off
TLSRequired off
TLSVerifyClient off
TLSProtocol SSLv23
TLSLog /var/log/proftpd_tls.log
TLSRSACertificateFile /etc/gadmin-proftpd/certs/cert.pem
TLSRSACertificateKeyFile /etc/gadmin-proftpd/certs/key.pem
TLSCACertificateFile /etc/gadmin-proftpd/certs/cacert.pem
TLSRenegotiate required off
TLSOptions AllowClientRenegotiation
</IfModule>
<IfModule mod_ratio.c>
Ratios off
SaveRatios off
RatioFile «/restricted/proftpd_ratios»
RatioTempFile «/restricted/proftpd_ratios_temp»
CwdRatioMsg «Please upload first!»
FileRatioErrMsg «FileRatio limit exceeded, upload something first...»
ByteRatioErrMsg «ByteRatio limit exceeded, upload something first...»
LeechRatioMsg «Your ratio is unlimited.»
</IfModule>
<Limit LOGIN>
AllowUser booleanbackupper
DenyALL
</Limit>

<Anonymous /home/abtomat/servers/megabackup>
User megabackupper
Group group1
AnonRequirePassword on
MaxClients 10 «The server is full, hosting %m users»
DisplayLogin welcome.msg
DisplayChdir .msg
<Limit LOGIN>
Allow from All
Deny from all
</Limit>
AllowOverwrite on
<Limit LIST NLST STOR STOU APPE RETR RNFR RNTO DELE MKD XMKD SITE_MKDIR RMD XRMD SITE_RMDIR SITE MTDM PWD XPWD SIZE STAT CWD XCWD CDUP XCUP >
AllowAll
</Limit>
<Limit SITE_CHMOD SITE_CHGRP >
DenyAll
</Limit>
</Anonymous>

 

ABTOMAT
()

GNU Screen и bash-скрипты: непонятности

Добрый день! Появились некоторые вопросы относительно screen и bash-скриптов.

Началось всё с того, что мне надо было из php-скрипта запускать на исполнение один bash-скриптик, который создаёт screen-сессию, в которой качает очень долго большой файл вегетом.

Собственно, php-скрипт вот такой и с ним проблем нет:

Backupping... <br />
<?php
$execresult = shell_exec('../../backup/dl');
echo $execresult;
?>
Done!

Как видно из скрипта, я могу если что вывести в браузер то, что творится в консоли.

Ок, теперь то, что лежит в ../../backup/dl:

/bin/bash
screen -d -m -S backup

После того, как прогоняю в браузере php-скрипт, он рапортует Done! а я лезу в ssh и пишу screen -ls. Вот что я вижу в результате:

(10/09/2011 04:35:05 PM) (Detached)
1969.VNC (10/09/2011 01:53:45 PM) (Detached)
910.minecraft (10/09/2011 12:59:29 PM) (Detached)

Нижние два я создал сам руками ранее. А вот верхний создан скриптом. Как мы видим, он создался, но у него нет ни pid, ни названия! Как так?

Дописал в скрипт вот эту строчку: echo `screen -ls`
И снова запустил php-шник.
На этот раз я увидел:

2721.backup (10/09/2011 04:35:46 PM) (Detached)
2677.backup (10/09/2011 04:35:05 PM) (Detached)
1969.VNC (10/09/2011 01:53:45 PM) (Detached)
910.minecraft (10/09/2011 12:59:29 PM) (Detached)

Выходит скрипт всё же создаёт сессии с нужными именами и видит уже созданные! Но когда я снова зашёл в shh и написал screen -ls, то увидел

(10/09/2011 04:35:46 PM) (Detached)
(10/09/2011 04:35:05 PM) (Detached)
1969.VNC (10/09/2011 01:53:45 PM) (Detached)
910.minecraft (10/09/2011 12:59:29 PM) (Detached)

То есть почему-то из bash-скрипта видно как созданные им сессии, так и не им созданные. А из обычного терминала созданные скриптом показаны как непонятно что.

Ладно, думаю, раз скрипт сам видит свои сессии, может, он сможет и заставить их исполнять команды? Убираю все «кривые» сессии, добавляю в конец строчку:

screen -S backup -X exec wget -O /home/abtomat/servers/backup/backup-$(date +%Y-%m-%d).txt http://neochan.ru/backup/test.txt

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

screen -d -m -S test
screen -S test -X exec wget -O /home/abtomat/servers/backup/backup-$(date +%Y-%m-%d).txt http://neochan.ru/backup/test.txt

То заветный файлик скачивается и появляется где ему подобает.

Кодировка bash-скрипта utf-8 (cp1251 приводила ровно к такому же результату) да и русских букв там нет.
Народ, объясните, почему так происходит? Может, я чего-то не понимаю?

ABTOMAT
()

[Samba][Xubuntu 11.04]

Добрый день!
Есть комп с Xubuntu.
Есть компы с виндой в той же сети.
Хотел, значит, сделать File Sharing.
Пошёл в Синаптик, поставил пакет samba.
В терминале сделал вот что:
sudo su
smbpasswd -a abtomat
пароль
пароль
/etc/init.d/smbd restart

Пересел за оконный комп, зашёл на \\192.168.0.107 (это адрес машины с пингвинами).
Требует реквизиты.
Пишу:
abtomat
пароль

И... не принимает. Просит ввести заново и так до бесконечности. Вопрос: что я делаю не так? Я что-то пропустил? Заранее спасибо!

Связь между компами есть 100%, стоит minecraft сервер, и на всех компах в сети на нём игралось.

 

ABTOMAT
()

GeForce 4MX 440 + Xubuntu 11.04

Добрый день! Есть старенький компик с видяшкой GeForce 4 MX 440. Пытаюсь на него поставить Xubuntu 11.04. Флешка загружается, появляется меню, выбираю «Запустить без инсталляции». После этого комп сколько-то времени думает, потом экран становится белым, и экран уходил в ждущий режим. Клавиатура и мышь не работают (тычу в Num Lock - индикатор не загорается). Почему-то я грешу на видяху (в своё время она и на Винде доставляла проблем) Товарищи, как это дело можно продиагностировать? И вообще какие могут быть причины сего? Система вообще не запускается... Если что, не ругайтесь, я с Linux имею общения мало...

ABTOMAT
()

RSS подписка на новые темы