<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LSDEEX &#187; linux</title>
	<atom:link href="http://www.lsdeex.ru/archives/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://www.lsdeex.ru</link>
	<description>Сборник ФАКов и мануалов</description>
	<lastBuildDate>Tue, 31 Jan 2012 19:20:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>python/php на freebsd</title>
		<link>http://www.lsdeex.ru/archives/356</link>
		<comments>http://www.lsdeex.ru/archives/356#comments</comments>
		<pubDate>Tue, 31 Jan 2012 19:13:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.lsdeex.ru/?p=356</guid>
		<description><![CDATA[Некоторые особенности фряхи, которые стоит знать для установки софта.
1. настройка апача, установка питона из сорцов (хотя можно было бы из портов)
2. установка пхп из портов.

updatedb  /usr/libexec/locate.updatedb
/usr/local/etc/apache22/httpd.conf
отключить deflate
убедиться что включен cgi
изменить DocumentRoot
настроить

	Options +ExecCGI
	DirectoryIndex start.pyw
	AddHandler cgi-script .pyw .py
	
/*  НЕ ДОБАВЛЯТЬ
добавить вирт

    ServerAdmin admin@localhost
    DocumentRoot /var/www/html
    ServerName [...]]]></description>
			<content:encoded><![CDATA[<p>Некоторые особенности фряхи, которые стоит знать для установки софта.</p>
<p>1. настройка апача, установка питона из сорцов (хотя можно было бы из портов)<br />
2. установка пхп из портов.<br />
<span id="more-356"></span><br />
updatedb  /usr/libexec/locate.updatedb<br />
/usr/local/etc/apache22/httpd.conf</p>
<p>отключить deflate<br />
убедиться что включен cgi</p>
<p>изменить DocumentRoot</p>
<p>настроить<br />
<Directory "путь"><br />
	Options +ExecCGI<br />
	DirectoryIndex start.pyw<br />
	AddHandler cgi-script .pyw .py<br />
</Directory>	</p>
<p>/*  НЕ ДОБАВЛЯТЬ<br />
добавить вирт</p>
<p><VirtualHost localhost:80><br />
    ServerAdmin admin@localhost<br />
    DocumentRoot /var/www/html<br />
    ServerName localhost<br />
    ErrorLog logs/python_errors<br />
    CustomLog logs/python_custom common<br />
</VirtualHost><br />
*/</p>
<p>создать mkdir -p /var/www/html</p>
<p>apachectl restart</p>
<p># создать тестовый start.pyw<br />
echo &#8220;#!/usr/local/bin/python3&#8243; > start.pyw &#038;&#038; echo &#8220;import ssl, sqlite3&#8243; >> start.pyw</p>
<p># поставить питон<br />
mkdir /var/www/python &#038;&#038; cd /var/www/python</p>
<p>wget http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz &#038;&#038; tar -xzf Python-3.2.2.tgz &#038;&#038; cd Python-3.2.2 &#038;&#038; ./configure &#038;&#038; make &#038;&#038; make install &#038;&#038; which python3</p>
<p>2. Ставим пхп</p>
<p>cd /usr/ports/lang/php5</p>
<p>make; make install; make clean</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lsdeex.ru/archives/356/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как поднять ftp-демона на чистой машине</title>
		<link>http://www.lsdeex.ru/archives/338</link>
		<comments>http://www.lsdeex.ru/archives/338#comments</comments>
		<pubDate>Wed, 19 Oct 2011 09:07:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[хостинги]]></category>

		<guid isPermaLink="false">http://www.lsdeex.ru/?p=338</guid>
		<description><![CDATA[Это делается просто.
1 ставим pure-ftpd.i686 : Lightweight, fast and secure FTP server
yum install pure-ftpd
2 создаем ftp-юзера: adduser ftpadmin
3 ставим ему пароль: passwd ftpadmin
3.2 ставим ему домашней директорией www: usermod -d /var/www/ ftpadmin
4 запускаем сервер: pure-ftpd -4 -A -B -M -l unix -U 022:022
Если ругается на libmysqlclient.so:
wget -O /usr/lib64/libmysqlclient.so.15 http://files.directadmin.com/services/es_5.0_64/libmysqlclient.so.15
chmod 755 /usr/lib64/libmysqlclient.so.15
ldconfig
5 подключаемся по FTP: ftpadmin:пароль@сервер [...]]]></description>
			<content:encoded><![CDATA[<p>Это делается просто.</p>
<p>1 ставим pure-ftpd.i686 : Lightweight, fast and secure FTP server<br />
yum install pure-ftpd</p>
<p>2 создаем ftp-юзера: adduser ftpadmin<br />
3 ставим ему пароль: passwd ftpadmin<br />
3.2 ставим ему домашней директорией www: usermod -d /var/www/ ftpadmin</p>
<p>4 запускаем сервер: pure-ftpd -4 -A -B -M -l unix -U 022:022</p>
<p>Если ругается на libmysqlclient.so:</p>
<p>wget -O /usr/lib64/libmysqlclient.so.15 http://files.directadmin.com/services/es_5.0_64/libmysqlclient.so.15<br />
chmod 755 /usr/lib64/libmysqlclient.so.15<br />
ldconfig</p>
<p>5 подключаемся по FTP: ftpadmin:пароль@сервер и попадаем в /home/ftpadmin/</p>
<p><a href="http://www.linuxcenter.ru/lib/articles/networking/linux_pureftpd.phtml">конспектом отсюда</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lsdeex.ru/archives/338/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Навигация в Total Commander как в lynx</title>
		<link>http://www.lsdeex.ru/archives/332</link>
		<comments>http://www.lsdeex.ru/archives/332#comments</comments>
		<pubDate>Mon, 10 Oct 2011 13:47:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.lsdeex.ru/?p=332</guid>
		<description><![CDATA[В линуксе я использую mc (midnight commander) и очень нравится его режим &#8220;Навигация в стиле lynx&#8221;
Вкратце &#8211; она позволяет войти в директорию нажатием стрелки &#8220;вправо&#8221;, а выйти из директории стрелкой &#8220;влево&#8221;.
Чтобы её включить в mc: Настройки &#8211; настройки панели &#8211; &#8220;навигация в стиле lynx&#8221;
Есть способ сделать то же самое в Total Commander

1 Настройка &#8211; разное [...]]]></description>
			<content:encoded><![CDATA[<p>В линуксе я использую mc (midnight commander) и очень нравится его режим &#8220;Навигация в стиле lynx&#8221;<br />
Вкратце &#8211; она позволяет войти в директорию нажатием стрелки &#8220;вправо&#8221;, а выйти из директории стрелкой &#8220;влево&#8221;.</p>
<p>Чтобы её включить в mc: Настройки &#8211; настройки панели &#8211; &#8220;навигация в стиле lynx&#8221;</p>
<p>Есть способ сделать то же самое в Total Commander<br />
<span id="more-332"></span></p>
<p>1 Настройка &#8211; разное &#8211; Переопределить горячие клавиши<br />
2 включаем радиобаттон &#8220;Клавиша&#8221;<br />
3 выбираем из выпадающего списка &#8220;Вправо (RIGHT)&#8221;, в поле команда пишем &#8220;cm_GoToDir&#8221; без кавычек<br />
4 выбираем из выпадающего списка &#8220;Влево (LEFT)&#8221;, в поле команда пишем &#8220;cm_GoToParent&#8221; без кавычек </p>
<p>Всё<br />
Теперь кнопка вправо открывает директорию, кнопка влево &#8211; вернуться в родительскую</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lsdeex.ru/archives/332/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firstvds.ru с python 3.2 с нуля</title>
		<link>http://www.lsdeex.ru/archives/329</link>
		<comments>http://www.lsdeex.ru/archives/329#comments</comments>
		<pubDate>Sun, 11 Sep 2011 09:56:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[хостинги]]></category>

		<guid isPermaLink="false">http://www.lsdeex.ru/?p=329</guid>
		<description><![CDATA[Цель: получить рабочий vds, на котором выполняются скрипты на питон 3.2 с консольным/веб-интерфейсом
Подробности для freebsd
Покупаем VDS
http://firstvds.ru/products/vds_vps_hosting
На данный момент (09.2011) самый дешевый тарифный план 149р.

указываем логин, пароль, телефон
робот звонит на телефон, сообщает код из трех цифр
вводим их и активируем аккаунт
идем в раздел &#8220;Виртуальные серверы&#8221;, вверху жмем &#8220;Заказать&#8221;, далее, далее, &#8220;Шаблон диска&#8221; я выбрал debian 5.0 (ispmanager [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Цель:</strong> получить рабочий vds, на котором выполняются скрипты на питон 3.2 с консольным/веб-интерфейсом</p>
<p><a href='http://www.lsdeex.ru/archives/356'>Подробности для freebsd</a></p>
<p>Покупаем VDS<br />
<a href="http://firstvds.ru/products/vds_vps_hosting">http://firstvds.ru/products/vds_vps_hosting</a><br />
На данный момент (09.2011) самый дешевый тарифный план 149р.<br />
<span id="more-329"></span><br />
указываем логин, пароль, телефон<br />
робот звонит на телефон, сообщает код из трех цифр<br />
вводим их и активируем аккаунт</p>
<p>идем в раздел &#8220;Виртуальные серверы&#8221;, вверху жмем &#8220;Заказать&#8221;, далее, далее, &#8220;Шаблон диска&#8221; я выбрал debian 5.0 (ispmanager &#8211; важно, чтобы он был), всё остальное по дефолту.<br />
если дебиан с испменеджер нет в списке &#8211; потом надо переустановить в ВДСпанели</p>
<p>Таким образом мы создаем заказ, теперь осталось оплатить, что я и делаю с помощью <strong>вебмани отстойнейшей платёжной системы</strong>.</p>
<p>Платим в разделе &#8220;Информация о счетах&#8221;, потом идет обратно в вирт. серверы, жмем по созданному, выбираем оплатить с текущего счета, а не добавить в заказ и ждем.</p>
<p>Далее, получаем на почту письмо с доступами, идем в панель ISPManager &#8212; https://188.120.236.94/manager/ispmgr (ip берем в письме)</p>
<p>заводим FTP-юзера в разделе &#8220;Пользователи&#8221;. Даем ему все права.</p>
<p>Заходим по SSH</p>
<p><b>yum install mc gcc make libsqlite3x-devel openssl-devel libsqlite3-dev libssl-dev</b><br />
debian: <b>yum install mc gcc make libsqlite3-dev libssl-dev</b><br />
centos: <b>sqlite-devel</b></p>
<p>Идем в /etc/apache2/<br />
Копируем sites-available/default в sites-enabled/default<br />
Правим этот файл, чтобы cgi директория была /var/www/наш-фтп-юзер/data<br />
И имела строку<br />
Options +ExecCGI</p>
<p>Создаем вирт. хост, если его нет:</p>
<p><VirtualHost *:80><br />
    DocumentRoot /var/www/html<br />
    AddHandler cgi-script .py .pyw<br />
    DirectoryIndex index.py index.pyw start.py start.pyw<br />
</VirtualHost></p>
<p>Добавляем в опции вирт. хоста строки:</p>
<p>AddHandler cgi-script .py .pyw<br />
DirectoryIndex index.py index.pyw start.py start.pyw</p>
<p>Отключаем mod_deflate<br />
Перезагружаем апач: apache2ctl restart или service httpd/apache/apache2 restart</p>
<p>Ставим gcc:<br />
apt-get install gcc make</p>
<p>Ставим поддержку sqlite3 и ssl:<br />
apt-get install libsqlite3-dev libssl-dev<br />
В других случаях пакеты могут называться libsqlite3x-devel и openssl-devel</p>
<p>Ставим питон на сервер:<br />
wget http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz &#038;&#038; tar -xzf Python-3.2.2.tgz &#038;&#038; cd Python-3.2.2 &#038;&#038; ./configure &#038;&#038; make &#038;&#038; make install &#038;&#038; which python3</p>
<p>построчно:<br />
wget http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz<br />
tar -xzf Python-3.2.2.tgz<br />
./configure &#038;&#038; make &#038;&#038; make install</p>
<p>Убедимся что питон в наличии:<br />
which python3<br />
#!/usr/local/bin/python3</p>
<p>Теперь сделаем тестовый скрипт</p>
<p>#!/usr/local/bin/python3<br />
import sys, sqlite3, ssl<br />
sys.stdout.buffer.write(b&#8217;Content-type: text/html;charset=utf-8\n\n&#8217;)</p>
<p>print(&#8217;hello&#8217;)</p>
<p>Сохраним его как start.py, дадим все права на выполнение и зальем на ftp в /var/www/фтп-юзер/data/</p>
<p>Откроем http://айпи-сервера/<br />
Мы должны увидеть &#8220;hello&#8221;</p>
<p>Репозитории для centos: <a href="http://www.osresources.com/11_6_en.html">http://www.osresources.com/11_6_en.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lsdeex.ru/archives/329/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Поддержка ssl и sqlite3 в python 3.2</title>
		<link>http://www.lsdeex.ru/archives/325</link>
		<comments>http://www.lsdeex.ru/archives/325#comments</comments>
		<pubDate>Wed, 15 Jun 2011 07:13:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.lsdeex.ru/?p=325</guid>
		<description><![CDATA[Поддержка появляется сразу после компиляции, при условии что в системе есть необходимые dev-пакеты.
Итак, для начала ставим (или проверяем наличие) пакеты libssl-dev и libsqlite3-dev
Затем качаем сорцы питона Python 3.2 compressed source tarball (for Linux, Unix or Mac OS X)
Распаковываем: tar -xzf Python-3.2.tgz
переходим: cd Python-3.2
конфигурируем и компилируем: ./configure &#038;&#038; make &#038;&#038; make install
Запускаем свежеиспеченный питон: python3.2
Проверяем:
> import [...]]]></description>
			<content:encoded><![CDATA[<p>Поддержка появляется сразу после компиляции, при условии что в системе есть необходимые dev-пакеты.</p>
<p>Итак, для начала ставим (или проверяем наличие) пакеты libssl-dev и libsqlite3-dev<br />
Затем качаем сорцы питона <a href="http://python.org/download/">Python 3.2 compressed source tarball (for Linux, Unix or Mac OS X)</a></p>
<p>Распаковываем: tar -xzf Python-3.2.tgz<br />
переходим: cd Python-3.2<br />
конфигурируем и компилируем: ./configure &#038;&#038; make &#038;&#038; make install</p>
<p>Запускаем свежеиспеченный питон: python3.2<br />
Проверяем:<br />
> import ssl<br />
> import sqlite3</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lsdeex.ru/archives/325/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>профилирование python 3 с cProfile и gprof2dot</title>
		<link>http://www.lsdeex.ru/archives/318</link>
		<comments>http://www.lsdeex.ru/archives/318#comments</comments>
		<pubDate>Wed, 08 Jun 2011 07:17:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.lsdeex.ru/?p=318</guid>
		<description><![CDATA[Мои первые опыты в профилировании python-скриптов в линукс.
Попробовал 2 варианта.
нам понадобится python 3 (в моем случае 3.2) и скрипт, например start.pyw
1 вариант
также надо установить gprof2dot: gprof2dot.noarch : Generate dot graphs from the output of several profilers
и pydot: pydot.noarch : Python interface to Graphviz&#8217;s Dot language
На выходе получаем png-файл, типа такого:


1 профилируем:
python3 -m cProfile -o out.pstats [...]]]></description>
			<content:encoded><![CDATA[<p>Мои первые опыты в профилировании python-скриптов в линукс.<br />
Попробовал 2 варианта.</p>
<p>нам понадобится python 3 (в моем случае 3.2) и скрипт, например start.pyw</p>
<p><strong>1 вариант</strong></p>
<p>также надо установить <strong>gprof2dot</strong>: gprof2dot.noarch : Generate dot graphs from the output of several profilers<br />
и <strong>pydot</strong>: pydot.noarch : Python interface to Graphviz&#8217;s Dot language</p>
<p>На выходе получаем png-файл, типа такого:<br />
<img src="http://clip2net.com/clip/m68436/1307517435-clipw28538-36kb.png" alt="" /><br />
<span id="more-318"></span></p>
<p>1 профилируем:<br />
python3 -m cProfile -o <span style='color: blue'>out.pstats</span> start.pyw</p>
<p>2 создаем png-файл:<br />
gprof2dot -f pstats  out.pstats | dot -Tpng -o <span style='color: blue'>out.png</span></p>
<p><strong>2 вариант</strong></p>
<p><img src='http://clip2net.com/clip/m68436/1307533858-clipj17942-106kb.png' /></p>
<p>Понадобится поставить <strong>kdesdk</strong>: kdesdk.i686 : The KDE Software Development Kit (SDK)<br />
и <strong>pyprof2calltree</strong>: http://pypi.python.org/pypi/pyprof2calltree/ (для него необходимо иметь питон 2.7)</p>
<p>1 профилируем:<br />
python3 -m cProfile -o <span style='color: blue'>out.pyprof</span> start.pyw</p>
<p>2 конвертируем:<br />
pyprof2calltree -i my.pyprof -o <span style='color: blue'>my.out</span></p>
<p>3 запускаем прогу <a href='http://kcachegrind.sourceforge.net/html/Home.html'>kcachegrind</a> из состава kdesdk<br />
и в ней открываем полученный my.out</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lsdeex.ru/archives/318/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>изменение раздела root в fedora 14 с помощью live-cd на usb-флешке</title>
		<link>http://www.lsdeex.ru/archives/308</link>
		<comments>http://www.lsdeex.ru/archives/308#comments</comments>
		<pubDate>Tue, 08 Mar 2011 19:46:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.lsdeex.ru/?p=308</guid>
		<description><![CDATA[Проблема: крохотные разделы / и /home
При этом имеется раздел, оставшийся от винды, на котором полно места.
Долго мучался, потому что раздел / нельзя изменить в линуксе, но всё-таки проблема решена

1 делаем загрузочную флешку
- качаем образ федоры с KDE (другие варианты)
2 нарезаем на флешку с помощью Fedora LiveUSB Creator
3 качаем rpm kde partition manager (все варианты)
4 грузимся [...]]]></description>
			<content:encoded><![CDATA[<p>Проблема: крохотные разделы / и /home<br />
При этом имеется раздел, оставшийся от винды, на котором полно места.</p>
<p>Долго мучался, потому что раздел / нельзя изменить в линуксе, но всё-таки проблема решена<br />
<span id="more-308"></span></p>
<p>1 делаем загрузочную флешку<br />
- качаем <a href="http://download.fedoraproject.org/pub/fedora/linux/releases/14/Live/i686/Fedora-14-i686-Live-KDE.iso">образ федоры с KDE</a> (<a href="http://fedoraproject.org/ru/get-fedora-options#desktops">другие варианты</a>)<br />
2 нарезаем на флешку с помощью Fedora LiveUSB Creator<br />
3 качаем <a href="ftp://rpmfind.net/linux/fedora/development/rawhide/i386/os/Packages/kde-partitionmanager-1.0.3-2.fc15.i686.rpm">rpm kde partition manager</a> (<a href="http://rpmfind.net/linux/rpm2html/search.php?query=kde-partitionmanager">все варианты</a>)<br />
4 грузимся с флешки<br />
5 ставим kde partition manager (авторизацию рута можно просто отменить)<br />
6 меняем размер разделов<br />
7 ставим у нужных разделов галочки boot</p>
<p>после этих манипуляций у меня слетел grub, поэтому пришлось его восстанавливать:<br />
- становимся рутом: su -<br />
- ищем файл stage1: updatedb &#038;&#038; locate stage1<br />
- grub<br />
- find /путь/stage1<br />
получаем что-то типа (hd0,1)<br />
- root (hd0,1)  &#8212; подставляем свои цифры (пробел после команды обязателен!)<br />
- setup (hd0) &#8212; подставляем свой номер hd</p>
<p>после этого результат был достигнут и разделы ext4 линукса потеснили ntfs винды</p>
<p>до этого пробовал записывать образ unetbootin (который зависал при загрузке), нарезать болванку (куда попала федора с гномом и gparted так и не запустился) &#8211; сплошные огорчения<br />
но всё же получилось, поэтому сохраню здесь мануальчик на будущее</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lsdeex.ru/archives/308/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>как примонтировать ftp-папку и как заливать файл на ftp через консоль</title>
		<link>http://www.lsdeex.ru/archives/287</link>
		<comments>http://www.lsdeex.ru/archives/287#comments</comments>
		<pubDate>Tue, 25 Jan 2011 06:50:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.lsdeex.ru/?p=287</guid>
		<description><![CDATA[Была у меня цель &#8211; заливать файлы на ftp с помощью одной только консоли.
Например так: upload test.txt &#8212; на выходе получаем ссылку на скачивание
С таким скриптом устраняется зависимость от любых сервисов типа sendspace, которые к тому же периодически мониторят всякие &#8220;хакеры&#8221;, ища что-нибудь интересное. 
Наконец, я его реализовал.
Нам понадобится:
1 примонтировать ftp папку к нашей системе
2 [...]]]></description>
			<content:encoded><![CDATA[<p>Была у меня цель &#8211; заливать файлы на ftp с помощью одной только консоли.<br />
Например так: upload test.txt &#8212; на выходе получаем ссылку на скачивание</p>
<p>С таким скриптом устраняется зависимость от любых сервисов типа sendspace, которые к тому же периодически мониторят всякие &#8220;хакеры&#8221;, ища что-нибудь интересное. </p>
<p>Наконец, я его реализовал.</p>
<p>Нам понадобится:<br />
1 примонтировать ftp папку к нашей системе<br />
2 написать bash-скрипт для загрузки файла</p>
<p>Приступим.<br />
<span id="more-287"></span></p>
<p>Первым делом, чтобы монтировать ftp-директории к нашей локальной системе, необходимо установить curlftpfs:</p>
<p><code class="codebox bash"><span class="kw2">sudo</span> yum <span class="kw2">install</span> curlftpfs</code></p>
<p>Далее, открываем /etc/fstab, в котором хранятся все правила монтирования в нашей системе:</p>
<p><code class="codebox bash"><span class="kw2">sudo</span> <span class="kw2">vim</span> <span class="sy0">/</span>etc<span class="sy0">/</span>fstab</code></p>
<p>Добавляем в него строчку:</p>
<p><code class="codebox bash">curlftpfs<span class="co0">#USER:PASSWORD@SERVER &nbsp;/MY_DIR fuse &nbsp; &nbsp;rw,uid=1000,umask=0777,user,suid,allow_other,exec,auto,utf8 0 1</span></code></p>
<p>тут все просто &#8211; указывает юзера, пароль, имя/ip сервера и на месте /MY_DIR &#8211; свою локальную папку, в которую хотим примонтировать.</p>
<p>Говорим mount заново прочитать fstab:<br />
<code class="codebox bash"><span class="kw2">sudo</span> <span class="kw2">mount</span> <span class="re5">-a</span></code></p>
<p>Готово.<br />
Теперь, чтобы залить файл на ftp &#8211; достаточно скопировать его в /MY_DIR<br />
но это всё же слишком долго, а мы ленивые, к тому же MC ощутимо тормозит, если в одной из его вкладок открыта ftp-директория. Поэтому напишем bash-скрипт, который будет не только заливать файл за нас, но ещё и делать много других полезных сопутствующих действий.</p>
<p>Создадим его в родной папке bin. После этого можно сделать ссылку на него в /usr/bin, можно добавить родной bin в список путей, которые сканируются башем при вызове команды &#8211; чтобы вызывать его командой upl.sh и не писать полный путь. Но это сделать несложно, поэтому пусть это будет вашим домашним заданием.</p>
<p><code class="codebox bash"><span class="kw2">vim</span> ~<span class="sy0">/</span>bin<span class="sy0">/</span>upl.sh</code></p>
<p>Запуск скрипта осуществляется с передачей имен файлов в качестве аргументов:<br />
<code class="codebox bash">upl.sh my.zip test.txt video.avi</code><br />
А из mc ещё проще &#8211; можно выделить нужные файлы с помощью Insert и набрать:<br />
<code class="codebox bash">upl.sh <span class="sy0">%</span>t</code></p>
<p>Директория для загрузки файлов на фтп &#8211; /local_ftp_dir/server.ru/uploads/<br />
Дальнейшие комментарии будут в самом коде:<br />
<code class="codebox bash"><span class="co0">#!/bin/bash</span><br />
<span class="co0"># created 25/01/2011</span><br />
<br />
<span class="co0"># если кол-во входных параметров = 0</span><br />
<span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re4">$#</span> <span class="re5">-eq</span> 0 <span class="br0">&#93;</span><br />
<span class="kw1">then</span><br />
&nbsp; <span class="co0"># пишем что это нехорошо и завершаем скрипт</span><br />
&nbsp; <span class="kw3">echo</span> <span class="st0">'UPL - script to upload files on freedomscripts server. use only with arguments!'</span><br />
&nbsp; <span class="kw3">exit</span> 0<br />
<span class="kw1">fi</span><br />
<br />
<span class="co0"># перебираем все полученные аргументы</span><br />
<span class="kw1">for</span> <span class="kw2">file</span> <span class="kw1">in</span> $<span class="sy0">@</span><br />
<span class="kw1">do</span><br />
&nbsp; <span class="co0"># текущая дата в формате день.месяц.ГОД - для уникальной папки на ftp</span><br />
&nbsp; <span class="re2"><span class="kw2">date</span></span>=$<span class="br0">&#40;</span><span class="kw2">date</span> +<span class="sy0">%</span>d.<span class="sy0">%</span>m.<span class="sy0">%</span>y<span class="br0">&#41;</span><br />
&nbsp; newUploadDir = <span class="sy0">/</span>local_ftp_dir<span class="sy0">/</span>server.ru<span class="sy0">/</span>uploads<span class="sy0">/</span><span class="re1">$date</span><br />
<br />
&nbsp; <span class="co0"># если директория для текущей даты уже существует - не делать ничего</span><br />
&nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re5">-d</span> newUploadDir <span class="br0">&#93;</span>; <span class="kw1">then</span><br />
&nbsp; &nbsp; <span class="co0">#nothing</span><br />
&nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;dir $date is exists&quot;</span><br />
&nbsp; <span class="co0"># если же её нет - сегодня ничего не заливали - создаем папку</span><br />
&nbsp; <span class="kw1">else</span><br />
&nbsp; &nbsp; <span class="kw2">mkdir</span> newUploadDir<br />
&nbsp; <span class="kw1">fi</span><br />
&nbsp; <br />
&nbsp; <span class="co0"># копируем в неё файл и получаем ссылку на его скачивание</span><br />
&nbsp; <span class="kw2">cp</span> <span class="re1">$file</span> newUploadDir<br />
&nbsp; <span class="kw3">echo</span> <span class="st0">&quot;done! http://www.server.ru/uploads/$date/$file&quot;</span><br />
<br />
&nbsp; <span class="co0"># дозаписываем отчет о загрузке в файлик uploads.txt</span><br />
&nbsp; <span class="kw3">echo</span> <span class="st0">&quot;$(date +%R) http://www.server.ru/uploads/$date/$file&quot;</span> <span class="sy0">&gt;&gt;</span> <span class="sy0">/</span>home<span class="sy0">/</span>user<span class="sy0">/</span>bin<span class="sy0">/</span>uploads.txt<br />
&nbsp; <br />
&nbsp; <span class="co0"># удаляем файл</span><br />
&nbsp; <span class="kw2">rm</span> <span class="re1">$file</span><br />
<span class="kw1">done</span></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lsdeex.ru/archives/287/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora 14 аудио и видео кодеки</title>
		<link>http://www.lsdeex.ru/archives/276</link>
		<comments>http://www.lsdeex.ru/archives/276#comments</comments>
		<pubDate>Tue, 21 Dec 2010 05:20:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.lsdeex.ru/?p=276</guid>
		<description><![CDATA[Собственно, кодеки у меня заработали после
#rpm -Uhv http://mirror.yandex.ru/fedora/rpmfusion/free/fedora/releases/11/Everything/i386/os/rpmfusion-free-release-11-1.noarch.rpm http://mirror.yandex.ru/fedora/rpmfusion/nonfree/fedora/releases/11/Everything/i386/os/rpmfusion-nonfree-release-11-1.noarch.rpm
#yum install xine-lib-extras xine-lib-extras-freeworld 
]]></description>
			<content:encoded><![CDATA[<p>Собственно, кодеки у меня заработали после</p>
<p><code class="codebox bash"><span class="co0">#rpm -Uhv http://mirror.yandex.ru/fedora/rpmfusion/free/fedora/releases/11/Everything/i386/os/rpmfusion-free-release-11-1.noarch.rpm http://mirror.yandex.ru/fedora/rpmfusion/nonfree/fedora/releases/11/Everything/i386/os/rpmfusion-nonfree-release-11-1.noarch.rpm</span></code></p>
<p><code class="codebox bash"><span class="co0">#yum install xine-lib-extras xine-lib-extras-freeworld</span></code> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.lsdeex.ru/archives/276/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic-авторизация Apache</title>
		<link>http://www.lsdeex.ru/archives/113</link>
		<comments>http://www.lsdeex.ru/archives/113#comments</comments>
		<pubDate>Mon, 04 Jan 2010 08:27:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[хостинги]]></category>

		<guid isPermaLink="false">http://www.lsdeex.ru/?p=113</guid>
		<description><![CDATA[Во всех скриптах с 12.07.2010 есть утилита для создания авторизации &#8211; /engine/adp.php
(дополнительно: создание пароля для htpasswd средствами php (MD5 APR))
Для того чтобы запаролить любую директорию на сервере, нам понадобятся всего 2 файла:
.htaccess &#8211; он укажет апачу что данная директория должна использовать basic-авторизацию
.htpasswd &#8211; он содержит в себе данные в формате логин:пароль
1 .HTACCESS
Вот пример содержимого этого [...]]]></description>
			<content:encoded><![CDATA[<p><b style='color: red'>Во всех скриптах с 12.07.2010 есть утилита для создания авторизации &#8211; /engine/adp.php</b><br />
(дополнительно: <a href='http://www.lsdeex.ru/archives/199'>создание пароля для htpasswd средствами php (MD5 APR)</a>)</p>
<p>Для того чтобы запаролить любую директорию на сервере, нам понадобятся всего 2 файла:</p>
<p>.htaccess &#8211; он укажет апачу что данная директория должна использовать basic-авторизацию<br />
.htpasswd &#8211; он содержит в себе данные в формате логин:пароль</p>
<p><strong>1 .HTACCESS</strong></p>
<p>Вот пример содержимого этого файла:</p>
          
<div class="codebox">
    <div class="the_code" style="" id="p1133">
        <div class="code php" id="p113code3">
<span class="sy0">&lt;</span>Files <span class="sy0">.</span>htpasswd<span class="sy0">&gt;</span><br />
&nbsp; &nbsp;deny from all<br />
<span class="sy0">&lt;/</span>Files<span class="sy0">&gt;</span><br />
<br />
AuthType Basic<br />
AuthName <span class="st0">&quot;Restricted Area&quot;</span><br />
AuthUserFile <span class="sy0">/</span>home<span class="sy0">/</span>kiper<span class="sy0">/</span>data<span class="sy0">/</span>www<span class="sy0">/</span>your<span class="sy0">-</span>site<span class="sy0">/.</span>htpasswd<br />
<span class="kw1">Require</span> valid<span class="sy0">-</span>user
        </div>
    </div>
</div>

<p>Здесь текст &#8220;Restricted Area&#8221; вы можете заменить на любой другой &#8211; он появится в окне, запрашивающем логин и пароль как пояснение к необходимости авторизации.</p>
<p>Значение AuthUserFile должно содержать полный путь до файла .htpasswd<br />
Выяснить прямой путь до директории с вашим сайтом вы можете создав там простой path.php с текстом</p>
          
<div class="codebox">
    <div class="the_code" style="" id="p1134">
        <div class="code php" id="p113code4">
<span class="kw2">&lt;?php</span> <span class="kw3">echo</span> <span class="kw3">getcwd</span><span class="br0">&#40;</span><span class="br0">&#41;</span>; <span class="kw2">?&gt;</span>
        </div>
    </div>
</div>

<p>Откройте его в браузере и получите полный путь до директории с сайтом. Останется лишь приписать в конце .htpasswd</p>
<p><strong>2 .HTPASSWD</strong></p>
<p>Этот файл содержит в себе пару логин:пароль, но пароль находится в зашифрованном виде.<br />
Чтобы получить такую пару из простого текста, рекомендую онлайн-инструмент</p>
<p>http://www.htaccesstools.com/htpasswd-generator/</p>
<p>Вводите логин, пароль &#8211; получаете содержимое для .htpasswd<br />
К примеру, test:test кодируется в test:$apr1$Y52u0/..$Hz3CXNuKUCBCJMaW8lx1p.</p>
<p>Теперь все что вам осталось &#8211; залить оба файла на сервер.<br />
При первой попытки открытия сайта, он запросит у вас basic-авторизацию. Введите свои логин и пароль один раз и они будут сохранены.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lsdeex.ru/archives/113/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

