<?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>Ильдар Галиуллин</title>
	<atom:link href="http://blog.ildart.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ildart.ru</link>
	<description>Блог о компьютерах, интернете, фотографии, веб-разработке и просто о жизни</description>
	<lastBuildDate>Wed, 22 Feb 2012 05:21:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Домашний сервер на Ubuntu Server (часть 5). Веб-сервер</title>
		<link>http://blog.ildart.ru/2012/02/22/home-server-ubuntu-5/</link>
		<comments>http://blog.ildart.ru/2012/02/22/home-server-ubuntu-5/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 05:20:39 +0000</pubDate>
		<dc:creator>Ильдар Галиуллин</dc:creator>
				<category><![CDATA[Домашний сервер]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://blog.ildart.ru/?p=1176</guid>
		<description><![CDATA[Наконец-то после длительного перерыва я продолжаю серию статей про домашний сервер. Перечислю, что из задуманного уже сделано и некоторые планы на будущее: Введение Установка и настройка SSH Установка и настройка Transmission-daemon Установка Samba FTP-сервер Веб-сервер (эта статья) Домашняя система видеонаблюдения &#8230; <a href="http://blog.ildart.ru/2012/02/22/home-server-ubuntu-5/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Наконец-то после длительного перерыва я продолжаю серию статей про домашний сервер. Перечислю, что из задуманного уже сделано и некоторые планы на будущее:</p>
<p><a href="http://blog.ildart.ru/2011/05/23/home-ubuntu-server/">Введение</a><br />
<a href="http://blog.ildart.ru/2011/05/23/home-ubuntu-server-1/">Установка и настройка SSH</a><br />
<a href="http://blog.ildart.ru/2011/05/24/home-ubuntu-server-2/">Установка и настройка Transmission-daemon</a><br />
<a href="http://blog.ildart.ru/2011/05/25/home-ubuntu-server-3/">Установка Samba</a><br />
<a href="http://blog.ildart.ru/2011/06/04/home-server-ubuntu-4/">FTP-сервер</a></p>
<p>Веб-сервер (эта статья)<br />
Домашняя система видеонаблюдения<br />
Бекапы</p>
<p>Про установку веб-сервера (Apache, php и MySQL) написано в статье <a href="http://blog.ildart.ru/2011/01/31/veb-server-na-ubuntu-za-pyat-minut/">Веб-сервер на Убунту за пять минут</a>, поэтому не буду повторно затрагивать процесс установки. Сейчас пройдемся по настройкам апача и созданию виртуальных хостов.  Будем считать, что апач, пхп и мускул уже установлены, если нет, самое время это сделать.  Управление апачем осуществляется следующими командами: <span id="more-1176"></span><strong>apache2ctl start</strong> &#8211; запуск</p>
<p><strong>apache2ctl stop</strong> &#8211; остановка</p>
<p><strong>apache2ctl restart</strong> &#8211; перезапуск. Если демон не запущен, он запускается. Эта команда автоматически проверяет файлы конфигурации, как в configtest перед началом перезагрузки.</p>
<p><strong>apache2ctl status</strong> &#8211; показывает статус сервера.</p>
<p><strong>apache2ctl fullstatus</strong> &#8211; отображает полный отчет о состоянии с mod_status (должен быть включен mod_status). В директиве STATUSURL нужно задать адрес страницы, где будет выводится отчет.</p>
<p><strong>apache2ctl graceful</strong> &#8211; мягкий перезапуск. Если демон не запущен, он запускается. Открытые соединения не прерываются.</p>
<p><strong>apache2ctl configtest</strong> &#8211; выполнить проверку синтаксиса файла конфигурации. Если есть ошибки выводится подробная информация о конкретной ошибке.</p>
<h2 style="text-align: left;">apache2.conf</h2>
<p>Главный конфигурационный файл апача лежит в <strong>/etc/apache2.conf</strong>. Разберем его по пунктам. Строки, начинающиеся знаком #, являются комментариями и на работу сервера никак не влияют. Важное замечание: при указании путей &#8211; не добавляйте слэш в конце пути к каталогу.</p>
<p>Директивы конфигурации сгруппированы в три основных раздела:</p>
<ol>
<li>Директивы, управляющие работой сервера Apache как процесса в целом.</li>
<li>Директивы, определяющие параметры главного сервера или сервера по умолчанию (default),</li>
<li>Настройки виртуальных хостов.</li>
</ol>
<p><code style="background-color: #ddd; border-left: 3px solid grey; display: block; padding: 3px;"># Корень сервера, изменять не рекомендуется<br />
ServerRoot "/ etc/apache2"<br />
#<br />
# Файл блокировки, чтобы апач не запустился два или больше раз<br />
LockFile /var/lock/apache2/accept.lock<br />
#<br />
# Путь к файлу, в котором будет записан id процесса апача. Переменная ${APACHE_PID_FILE} указана в файле /etc/apache2/envvars<br />
PidFile ${APACHE_PID_FILE}<br />
#<br />
# Таймаут на прием и передачу, в секундах<br />
Timeout 300<br />
#<br />
# Разрешить постоянные соединения<br />
KeepAlive On<br />
#<br />
# Максимальное количество запросов. Чтобы убрать ограничение выставите 0.<br />
MaxKeepAliveRequests 100<br />
#<br />
# Время ожидания следующего запроса от одного клиента в том же соединении<br />
# в секундах<br />
KeepAliveTimeout 15<br />
##<br />
## Далее идут настройки модуля MPM (ниже я напишу, что это такое)<br />
##<br />
# prefork MPM<br />
# StartServers: количество процессов сервера при запуске<br />
# MinSpareServers: минимальное количество процессов<br />
# MaxSpareServers: максимальное количество процессов<br />
# MaxClients: максимальное количество процессов при старте<br />
# MaxRequestsPerChild: максимальное число запросов на процесс<br />
&lt;IfModule mpm_prefork_module&gt;<br />
StartServers          5<br />
MinSpareServers       5<br />
MaxSpareServers      10<br />
MaxClients          150<br />
MaxRequestsPerChild   0<br />
&lt;/IfModule&gt;<br />
#<br />
# worker MPM<br />
# StartServers: начальное количество серверных процессов при старте<br />
# MaxClients: максимальное количество одновременных клиентских подключений<br />
# MinSpareThreads: минимальное количество рабочих потоков<br />
# MaxSpareThreads: максимальное количество рабочих потоков<br />
# ThreadsPerChild: постоянное количество рабочих потоков в каждый серверный процесс<br />
# MaxRequestsPerChild: максимальное количество запросов, обслуживающихся одним процессом<br />
&lt;IfModule mpm_worker_module&gt;<br />
StartServers          2<br />
MinSpareThreads      25<br />
MaxSpareThreads      75<br />
ThreadLimit          64<br />
ThreadsPerChild      25<br />
MaxClients          150<br />
MaxRequestsPerChild   0<br />
&lt;/IfModule&gt;<br />
#<br />
# event MPM<br />
# StartServers: начальное количество серверных процессов<br />
# MaxClients: максимальное количество одновременных клиентских подключений<br />
# MinSpareThreads: минимальное количество рабочих потоков<br />
# MaxSpareThreads: максимальное количество рабочих потоков<br />
# ThreadsPerChild: постоянное количество рабочих потоков в каждом процессе<br />
# MaxRequestsPerChild: максимальное количество запросов обслуживающихся одним процессом<br />
&lt;IfModule mpm_event_module&gt;<br />
StartServers          2<br />
MaxClients          150<br />
MinSpareThreads      25<br />
MaxSpareThreads      75<br />
ThreadLimit          64<br />
ThreadsPerChild      25<br />
MaxRequestsPerChild   0<br />
&lt;/IfModule&gt;<br />
#<br />
#<br />
# От имени какого пользователя и группы запускается апач. Переменные можно установить в файле /etc/apache2/envvars<br />
User ${APACHE_RUN_USER}<br />
Group ${APACHE_RUN_GROUP}<br />
#<br />
# Стандартный файл .htaccess. Можно назвать его по-другому<br />
AccessFileName .htaccess<br />
#<br />
#<br />
# Запретить показ содержимого файлов .htaccess и .htpasswd в браузере<br />
&lt;Files ~ "^\.ht"&gt;<br />
Order allow,deny<br />
Deny from all<br />
Satisfy all<br />
&lt;/Files&gt;<br />
#<br />
#<br />
# MIME тип файлов по умолчанию. Применяется, когда тип файла не указан явно<br />
DefaultType text/plain<br />
#<br />
#<br />
# Распознавать хосты по именам или по айпи адресам. Лучше отключить если не критично, чтобы не нагружать сервер лишний раз.<br />
# on - по айпи адресам<br />
# off - по именам<br />
HostnameLookups Off<br />
#<br />
# Расположение файла журнала ошибок<br />
ErrorLog /var/log/apache2/error.log<br />
#<br />
# Уровень детализации ошибок. По умолчанию уровень - warn<br />
# Возможные варианты:<br />
# debug - отладочная информация,<br />
# info - просто информация (?),<br />
# notice - уведомления,<br />
# warn - предупреждения,<br />
# error - ошибки,<br />
# crit - критические ошибки,<br />
# alert<br />
# emerg<br />
LogLevel warn<br />
#<br />
# Подключаемые модули:<br />
Include /etc/apache2/mods-enabled/*.load<br />
Include /etc/apache2/mods-enabled/*.conf<br />
#<br />
# Подключение пользовательских конфигураций:<br />
Include /etc/apache2/httpd.conf<br />
#<br />
# Подключить файл со списком портов<br />
Include /etc/apache2/ports.conf<br />
#<br />
# Форматы журнала доступа<br />
LogFormat "%v:%p %h %l %u %t \"%r\" %&gt;s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
LogFormat "%h %l %u %t \"%r\" %&gt;s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %&gt;s %O" common<br />
LogFormat "%{Referer}i -&gt; %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
#<br />
# Журнал доступа для виртуальных хостов, если эти параметры для них отдельно не определены<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
#<br />
# Подключение доп. конфигов<br />
Include /etc/apache2/conf.d/<br />
#<br />
# Подключение виртуальных хостов<br />
Include /etc/apache2/sites-enabled/ </code></p>
<p>Выше я упомянул об MPM &#8211; мультипроцессорной модели. Вкратце, это вот что (из Википедии):</p>
<blockquote><p>[...] архитектура многопроцессорных компьютеров, в которой два или более одинаковых процессоров подключаются к общей памяти. [...] SMP системы позволяют любому процессору работать над любой задачей независимо от того, где в памяти хранятся данные для этой задачи; при должной поддержке операционной системой SMP-системы могут легко перемещать задачи между процессорами, эффективно распределяя нагрузку.</p></blockquote>
<p>В общем, штука нужная. Но для домашнего тестирования сайтов практической пользы от этого я не вижу. Просто оставьте настройки как есть и все будет работать как надо. Если вы собираетесь применять апач в высоконагруженных или требующих высокой степени безопасности проектах, то в этом случае можете углубиться в эти настройки.</p>
<p>В файле /etc/apache2/envvars прописаны глобальные переменные упомянутые в настройках выше &#8211; APACHE_RUN_USER, APACHE_RUN_GROUP и APACHE_PID_FILE. Повторю, что это пользователь и группа, от имени которого запускается апач, а третья переменная это id процесса запущенного апача. Его лучше не изменять. А вот с пользователем и группой нужно немного разобраться.</p>
<p>По умолчанию апач запускается от имени пользователя www-data. Файлы и папки сайта вы скорее всего будете создавать от своего имени. Поэтому апач не сможет ими воспользоваться. В процессе работы сайта кроме чтения файлов понадобиться создавать, изменять и удалять файлы. А для этого потребуются необходимые права.</p>
<p>Допустим вы работаете под пользователем vasya, ваша группа по умолчанию тоже будет называться vasya. Если вы не знаете свои имя, наберите в терминале: <em>whoami</em> и нажмите энтер, в ответ вы увидите свое имя. Чтобы узнать свою группу, наберите команду: <em>groups vasya</em> (вместо vasya подставьте свое имя пользователя). В ответ получите список групп, в которых вы состоите. Если там будет группа с таким же названием как ваше имя пользователя, значит все гуд. Идем дальше.</p>
<p>Как я уже сказал, апач запускается от имени пользователя www-data. Теперь нам нужно добавить этого пользователя в ту же группу, в которой состоите вы. Делается это очень просто. Наберите в терминале следующую команду: <em>sudo usermod -a -G vasya www-data</em> (вместо vasya подставьте свою группу). Если все прошло успешно,остается только раздать права для доступа к папкам и файлам, где лежит наш сайт или сайты. Делается это следующей командой в терминале: <em>sudo chmod -R 770 /home/username/www/</em>. В данном случае сайты лежат в домашней папке пользователя в папке www. Измените этот путь на свой. Права для владельца и для группы (первые две цифры 77) на чтение, выполнение и запись, т. е.  полные права. Для всех остальных прав не назначили (третья цифра 0). Параметр -R означает рекурсивное назначение прав. Права естественно вы можете назначить по своему усмотрению и по своим меркам безопасности, я только привел пример. Но обязательно нужно дать права для выполнения, если вы хотите, чтобы ваши скрипты работали.</p>
<p>Продолжаем настройки. В папке conf.d есть файл charset. В нем можно прописать, какая кодировка будет использоваться по умолчанию. Также в этой папке вы найдете файл security. Как понятно из названия, он отвечает за безопасность сервера. Рассмотрим его подробней.</p>
<p><code style="background-color: #ddd; border-left: 3px solid grey; display: block; padding: 3px;"># ServerTokens<br />
# Настройте, какие данные должен передавать сервер в своих ответах<br />
# Доступные варианты: Full | OS | Minimal | Minor | Major | Prod<br />
#ServerTokens Minimal<br />
ServerTokens OS<br />
#ServerTokens Full<br />
#<br />
# Подпись сервера на выдаваемых страницах (внутренние страницы ошибок,<br />
просмотр фтп-папок, mod_status и mod_info).<br />
# Также можно включить в подпись эл. почту администратора сервера<br />
# Доступные варианты On | Off | EMail<br />
ServerSignature On<br />
#<br />
# Трассировка<br />
# Вкл | Выкл | расширенная:  On | Off | extended<br />
#<br />
TraceEnable Off<br />
#TraceEnable On </code></p>
<p>С настройками закончили. Теперь вы можете настроить апач под свои конкретные нужды.</p>
<p>Очень кратко о том, как подключать модули: <em>a2enmod rewrite</em>. Как видите синтаксис очень простой. Команда a2enmod активирует указанный модуль, в данном случае это модуль rewrite.</p>
<p>Перейдем к хостам. В апаче есть три способа настройки хостов.</p>
<p>Способ первый, самый простой: создаем подкаталог с названием сайта в корне веб-сервера. Например, /var/www/mywebsite. Он будет доступен по адресу http://localhost/mywebsite.</p>
<p>Способ второй, чуть сложнее: создаем в домашней папке каталог www (или любой другой на ваше усмотрение). Активируем модуль UserDir. Для этого в файле apache2.conf нужно добавить строку <em>UserDir www</em>. Здесь www это каталог, который мы создали в своей домашней папке. В ней будет размещаться наш сайт. Активируем модуль UserDir командой <em>sudo a2enmod userdir</em>. Теперь добавим в файл apache2.conf такие строки:</p>
<p><code style="background-color: #ddd; border-left: 3px solid grey; display: block; padding: 3px;"><br />
LoadModule userdir_module /usr/lib/apache2/modules/mod_userdir.so<br />
&lt;UserDir www&gt;<br />
UserDir disabled root<br />
&lt;Directory /home/*/www&gt;<br />
AllowOverride FileInfo AuthConfig Limit<br />
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec<br />
&lt;/Directory&gt;<br />
&lt;/IfModule&gt;</code></p>
<p>Сайт будет доступен по адресу http://localhost/~username.</p>
<p>Третий способ, самый сложный. Сложный в плане начального понимания как оно устроено. Но зато очень удобный в плане настроек. Этот способ применяется чаще первых двух. Намного чаще. В статье <a href="http://blog.ildart.ru/2011/01/31/veb-server-na-ubuntu-za-pyat-minut/">Веб-сервер на Убунту за пять минут</a> (советую прочитать его еще раз) я подробно описал, как их создавать, поэтому повторяться не буду.</p>
<p>Использование виртуальных хостов предпочтительней. В этом случае все настройки хостов у вас будут лежать в одном каталоге. И в любой момент всего одной командой вы сможете включать и отключать нужные хосты.</p>
<p>После того, как сделаете все необходимые настройки, не забудьте перезагрузить апач. Команды для управления апачем я написал в самом начале этой статьи.</p>
<p>Хорошего вам аптайма! <img src='http://blog.ildart.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=%D0%94%D0%BE%D0%BC%D0%B0%D1%88%D0%BD%D0%B8%D0%B9+%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80+%D0%BD%D0%B0+Ubuntu+Server+%28%D1%87%D0%B0%D1%81%D1%82%D1%8C+5%29.+%D0%92%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80+http%3A%2F%2Fblog.ildart.ru%2F%3Fp%3D1176" title="Post to Twitter"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a>     <a class="tt" href="http://www.facebook.com/share.php?u=http://blog.ildart.ru/2012/02/22/home-server-ubuntu-5/&amp;t=%D0%94%D0%BE%D0%BC%D0%B0%D1%88%D0%BD%D0%B8%D0%B9+%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80+%D0%BD%D0%B0+Ubuntu+Server+%28%D1%87%D0%B0%D1%81%D1%82%D1%8C+5%29.+%D0%92%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80" title="Post to Facebook"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big1.png" alt="Post to Facebook" /></a>    </p></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ildart.ru/2012/02/22/home-server-ubuntu-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Пишем свою CMS, часть 2</title>
		<link>http://blog.ildart.ru/2012/02/07/pishem-svoyu-cms-2/</link>
		<comments>http://blog.ildart.ru/2012/02/07/pishem-svoyu-cms-2/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 06:20:32 +0000</pubDate>
		<dc:creator>Ильдар Галиуллин</dc:creator>
				<category><![CDATA[Веб-разработка]]></category>

		<guid isPermaLink="false">http://blog.ildart.ru/?p=1287</guid>
		<description><![CDATA[Главная страница Итак, продолжим написание CMS. Или правильней будет сказать начнем. Называться будет Cafe CMS, версия 0.0.1. Кстати, если есть желающие придумать хорошее название и нарисовать логотип, буду очень признателен и включу вас в список разработчиков Для начала создадим все &#8230; <a href="http://blog.ildart.ru/2012/02/07/pishem-svoyu-cms-2/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Главная страница</h2>
<p>Итак, продолжим написание CMS. Или правильней будет сказать начнем. Называться будет Cafe CMS, версия 0.0.1. Кстати, если есть желающие придумать хорошее название и нарисовать логотип, буду очень признателен и включу вас в список разработчиков <img src='http://blog.ildart.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Для начала создадим все необходимые папки и файлы. Будем считать, что мы уже находимся в корневой папке сайта и все пути будут от него.</p>
<p>Создаем три папки: admin, inc и template. В папке admin создаем пустой файл index.php. Это будет &laquo;движок&raquo; админки. В папке inc будем складывать включаемые файлы. Создаем в ней пустой файл db_connect.php. В папке template создаем папку default &#8211; папка для стандарной темы. Другие темы добавляются сюда же. В папке с темой (default) должно быть  4 файла: style.css, header.php, content.php и footer.php. Думаю, их назначение понятно по названиям. Теперь в корне сайта создаем еще два файла: index.php (основной &laquo;движок&raquo; сайта) и install.php &#8211; сразу сделаем установщик, чтобы можно было легко разворачивать новые сайты.</p>
<p>Должна получиться вот такая структура:<br />
|admin<br />
|___index.php<br />
|inc<br />
|___db_connect.php<br />
|template<br />
|___default<br />
|___style.css<br />
|___header.php<br />
|___content.php<br />
|___footer.php<br />
index.php<br />
install.php</p>
<p>Теперь будем наполнять файлы смыслом, т. е. содержимым.</p>
<p>Начнем с главной страницы. Открываем index.php и напишем в него такой код:</p>
<blockquote><p><code><span style="font-family: &amp;amp;quot; color: black; font-size: x-small;"><small><a href="http://s-c.me/24852/s">Copy Source</a> | <a href="http://s-c.me/24852/h">Copy HTML</a></small> </span></code></p>
<ol><code><span style="font-family: &amp;amp;quot; color: black; font-size: x-small;"></p>
<li><span style="color: #cc6633;">&lt;?</span></li>
<li><span style="color: #696969;">//Проверяем наличие файла настроек</span></li>
<li><span style="color: #0000ff;">if</span>(!<a href="http://www.php.net/manual/en/function.file-exists.php">file_exists</a>(<span style="color: #cc6633;">$_SERVER</span>[DOCUMENT_ROOT].<span style="color: #008000;">"/config.php"</span>)){</li>
<li> <span style="color: #696969;">//если файла нет, предлагаем установку CMS и завершаем работу скрипта</span></li>
<li> <span style="color: #0000ff;">echo</span> <span style="color: #008000;">"&lt;p style=\"width:300px;border:1px #ff0000 solid;background-color:#fdcaca;color:#ff0000;padding:20px;margin:20px auto 20px auto;font-family:Tahoma,Arial,FreeSans,Garuda,Utkal,sans-serif;\"&gt;</span><br />
<span style="color: #008000;">Файл настроек не&amp;nbsp;найден или к&amp;nbsp;нему нет доступа. Возможно CMS не&amp;nbsp;установлена. Проверьте права на&amp;nbsp;файл config.php.&lt;/p&gt;</span><br />
<span style="color: #008000;">&lt;p style=\"width:300px;border:1px #00ff00 solid;background-color:#eaffdd;color:#00a000;padding:20px;margin:0px auto 0px auto;font-family:Tahoma,Arial,FreeSans,Garuda,Utkal,sans-serif;\"&gt;Для установки системы перейдите по&amp;nbsp;ссылке &lt;a href=\"/install.php\"&gt;http://"</span>.<span style="color: #cc6633;">$_SERVER</span>[SERVER_NAME].<span style="color: #008000;">"/install.php&lt;/a&gt;.&lt;br&gt;&lt;br&gt;Связаться с разработчиком можно по адресу &lt;a href=\"mailto:rad-li@ya.ru\"&gt;rad-li@ya.ru&lt;/a&gt;&lt;/p&gt;"</span>;</li>
<li><span style="color: #0000ff;">exit</span>();</li>
<li>}</li>
<li><span style="color: #696969;">//если файл настроек на месте, включаем его и продолжаем вывод страницы</span></li>
<li><span style="color: #0000ff;">else</span>{</li>
<li> <span style="color: #0000ff;">include</span> <span style="color: #cc6633;">$_SERVER</span>[DOCUMENT_ROOT].<span style="color: #008000;">"/config.php"</span>;</li>
<li> <span style="color: #696969;">//включаем шапку; файл header.php находится в папке /template в папке с темой оформления</span></li>
<li> <span style="color: #0000ff;">include</span> <span style="color: #cc6633;">$_SERVER</span>[DOCUMENT_ROOT].<span style="color: #008000;">"/template/"</span>.<span style="color: #cc6633;">$template</span>.<span style="color: #008000;">"/header.php"</span>;</li>
<li> <span style="color: #696969;">//здесь выводим содержимое страницы; файл content.php находится в папке /template в папке с темой оформления</span></li>
<li> <span style="color: #0000ff;">include</span> <span style="color: #cc6633;">$_SERVER</span>[DOCUMENT_ROOT].<span style="color: #008000;">"/template/"</span>.<span style="color: #cc6633;">$template</span>.<span style="color: #008000;">"/content.php"</span>;</li>
<li> <span style="color: #696969;">//включаем подвал; файл footer.php находится в папке /template в папке с темой оформления</span></li>
<li> <span style="color: #0000ff;">include</span> <span style="color: #cc6633;">$_SERVER</span>[DOCUMENT_ROOT].<span style="color: #008000;">"/template/"</span>.<span style="color: #cc6633;">$template</span>.<span style="color: #008000;">"/footer.php"</span>;</li>
<li>}</li>
<li><span style="color: #cc6633;">?&gt;</span></li>
<p></span></code></ol>
<p><code><span style="font-family: &amp;amp;quot; color: black; font-size: x-small;"> </span></code></p></blockquote>
<h3>Принцип работы</h3>
<p>В самом начале проверяется наличие файла config.php в корне сайта. В этом файле будут записаны основные настройки сайта (данные для подключения к БД, выбранная тема и т. д .). Если этого файла нет, значит CMS еще не установлена. Выводм об этом сообщение и предлагаем перейти к установщику.</p>
<p>У функции file_exists() есть одна особенность.  Если вы вызовите file_exists() на несуществующем файле, она будет возвращать FALSE до тех пор, пока вы не создадите этот файл. Если же вы создадите файл, она будет возвращать TRUE даже если затем вы его удалите. Поэтому, если вы не хотите, чтобы информация о файле или каталоге, с которым вы работаете, кешировалась, на время тестирования скриптов используйте функцию clearstatcache().</p>
<p>Если же файл есть, т. е. CMS установлена, продолжаем вывод контента. Сначала включаем файл с настройками config.php, далее подключаем три файла header.php, content.php и footer.php. Все они находятся в папке template/default/. Вместо папки default может быть другая в завсисмости от выбранной темы оформления, поэтому обозначаем ее переменной $template. Ее значение будет записано в файле config.php, который создается при установке CMS. Сохраняем, закрываем.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=%D0%9F%D0%B8%D1%88%D0%B5%D0%BC+%D1%81%D0%B2%D0%BE%D1%8E+CMS%2C+%D1%87%D0%B0%D1%81%D1%82%D1%8C+2+http%3A%2F%2Fblog.ildart.ru%2F%3Fp%3D1287" title="Post to Twitter"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a>     <a class="tt" href="http://www.facebook.com/share.php?u=http://blog.ildart.ru/2012/02/07/pishem-svoyu-cms-2/&amp;t=%D0%9F%D0%B8%D1%88%D0%B5%D0%BC+%D1%81%D0%B2%D0%BE%D1%8E+CMS%2C+%D1%87%D0%B0%D1%81%D1%82%D1%8C+2" title="Post to Facebook"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big1.png" alt="Post to Facebook" /></a>    </p></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ildart.ru/2012/02/07/pishem-svoyu-cms-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Пишем свою CMS, часть 1</title>
		<link>http://blog.ildart.ru/2012/02/03/pishem-svoyu-cms-1/</link>
		<comments>http://blog.ildart.ru/2012/02/03/pishem-svoyu-cms-1/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 06:29:52 +0000</pubDate>
		<dc:creator>Ильдар Галиуллин</dc:creator>
				<category><![CDATA[Веб-разработка]]></category>

		<guid isPermaLink="false">http://blog.ildart.ru/?p=1281</guid>
		<description><![CDATA[Создаем свою CMS Несколько лет назад я выучил php, потом MySQL и начал писать всякие мелкие скрипты для своих сайтов, которые раньше были статичными, на голом html-е. Некоторые скрипты были очень простыми, выводили курс доллара или погоду, некоторые были посложнее, &#8230; <a href="http://blog.ildart.ru/2012/02/03/pishem-svoyu-cms-1/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.ildart.ru/wp-content/uploads/2012/02/cms.jpg"><img class="alignright size-full wp-image-1283" title="cms" src="http://blog.ildart.ru/wp-content/uploads/2012/02/cms.jpg" alt="" width="320" height="240" /></a>Создаем свою CMS</p>
<p>Несколько лет назад я выучил php, потом MySQL и начал писать всякие мелкие скрипты для своих сайтов, которые раньше были статичными, на голом html-е. Некоторые скрипты были очень простыми, выводили курс доллара или погоду, некоторые были посложнее, иногда это были доработки функционала каких-то мелких CMS. В итоге накопилось много скриптов и они не были как-то упорядочены, все писалось на скорую руку. Когда требовалось, например, сделать вывод курса доллара, приходилось искать, где же я его применял, бывало что и вовсе писал заново. После очередного такого поиска зародилась мысль собрать все это в одну библиотеку скриптов. Но в скоре, обнаружив большое количество таких сайтов в интернете (сборников скриптов), я передумал делать еще один подобный, а замахнулся выше &#8211; сделать свою CMS &#8211; систему управления сайтом. До этого я уже писал нечто похожее на CMS, то есть делал сайты с админкой, но они были настолько простыми, что CMS-ом их никак не назовешь.</p>
<p>Обдумываем за и против</p>
<p>Многие скажут зачем изобретать еще один велосипед, ведь создано достаточное количество CMS на любой вкус, для любых типов сайтов, платные и бесплатные. Да, это так. Я работал с разными системами, но всегда оставалось ощущение, что чего-то в них не хватает. К тому же для добавления в них своего функционала необходимо понять как все устроено. Многие функциональные системы занимают объем намного больший, чем сам сайт. Например, около года назад я админил сайт одной фирмы сделанный на Битриксе (версию не помню, но немного старая). Сам Битрикс занимал в 3 раза больше места, чем сам сайт. Это проблема скорее больших функциональных CMS а-ля все в одном расчитанных на разные тпы сайтов (визитка, блог, портал). В своей CMS я попытаюсь избежать этого.</p>
<p>Еще одно &laquo;за&raquo; &#8211; это получение опыта в написании чего-то большого, законченного, работающего. Больше не надо будет для новых сайтов думать как реализовать тот или иной функционал, все будет в одном месте.</p>
<p>Не скажу, что владею php на уровне профи, но для написания CMS знаний хватит. Местами будет встречаться быдлокод, уж простите, как умею.. Конструктивная критика привествуется.</p>
<p>Лично для себя я вижу кучу &laquo;за&raquo; и одно &laquo;против&raquo; &#8211; свободного времени станет меньше. CMS-ке быть! Приглашаю всех желающих поэксперемнтировать со мной. Пусть у каждого будет своя система управления сайтом <img src='http://blog.ildart.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Наверно у многих, кто решил написать свою CMS аргументы за будут примерно такими же, но это все мое имхо))</p>
<p>План действий</p>
<p>Разработку буду вести на своем домашнем сервере. Создадим новый хост на сервере. Как это сделать описано тут. Как поднять веб-сервер, создать хосты я описывал <a href="http://blog.ildart.ru/2011/05/23/home-ubuntu-server/">в соотвествующих записях блога</a> .</p>
<p>CMS не будет сразу супер-пупер функциональной. Начнем с версии &laquo;сайт визитка&raquo; и постепенно версия за версией будем доводить функционал до ума. Релизы буду выкладывать на демо сайте (добавлю его позже, как появится более менее работающая версия).</p>
<p>Интересное название я так и не смог придумать, поэтому сейчас назову его Cafe CMS, а потом посмотрим. Если у вас есть что предложить, напишите в каментах <img src='http://blog.ildart.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Выбор лицензии остановился на этапе прочтения разных версий СС, но CMS будет полностью бесплатная. Вы можете его копировать, распространять, изменять и т. д. сохранив при этом лицензию и ссылку на разработчика. О лицензии напишу отдельно.</p>
<p>Структура CMS</p>
<p>/admin/<br />
/inc/<br />
/template/<br />
config.php<br />
index.php<br />
install.php<br />
.htaccess</p>
<p>Панель управления будет находится в папке admin. Включаемые файлы в папке inc, тема оформления в temlpate. Сам движок в index.php. Настройки будем писать в config.php. install.php нужен будет для установки и начальной настройки системы. После уставноки файл удаляется. Вся информация будет храниться в базе данных.</p>
<p>Возможно с наращиванием функционала структура постепенно будет меняться. Сейчас этого вполне достаточно.</p>
<p>На этом пока все. Вопросы, предложения в каментах.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=%D0%9F%D0%B8%D1%88%D0%B5%D0%BC+%D1%81%D0%B2%D0%BE%D1%8E+CMS%2C+%D1%87%D0%B0%D1%81%D1%82%D1%8C+1+http%3A%2F%2Fblog.ildart.ru%2F%3Fp%3D1281" title="Post to Twitter"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a>     <a class="tt" href="http://www.facebook.com/share.php?u=http://blog.ildart.ru/2012/02/03/pishem-svoyu-cms-1/&amp;t=%D0%9F%D0%B8%D1%88%D0%B5%D0%BC+%D1%81%D0%B2%D0%BE%D1%8E+CMS%2C+%D1%87%D0%B0%D1%81%D1%82%D1%8C+1" title="Post to Facebook"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big1.png" alt="Post to Facebook" /></a>    </p></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ildart.ru/2012/02/03/pishem-svoyu-cms-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Анонс</title>
		<link>http://blog.ildart.ru/2012/01/22/anons/</link>
		<comments>http://blog.ildart.ru/2012/01/22/anons/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 07:54:21 +0000</pubDate>
		<dc:creator>Ильдар Галиуллин</dc:creator>
				<category><![CDATA[Разное]]></category>

		<guid isPermaLink="false">http://blog.ildart.ru/?p=1278</guid>
		<description><![CDATA[Пишу в блог редко из-за нехватки времени. Занят переездом и ремонтом квартиры. Еще между делом открыл свое дело &#8211; фотосалон. Предприниматель типа Все время забирает он. Статьи про домашний сервер на Убунту и про Damn Small Linux продолжатся. Плюс начну &#8230; <a href="http://blog.ildart.ru/2012/01/22/anons/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.ildart.ru/wp-content/uploads/2012/01/1248513875_pic_id236775.jpeg"><img class="alignright size-full wp-image-1279" title="afisha" src="http://blog.ildart.ru/wp-content/uploads/2012/01/1248513875_pic_id236775.jpeg" alt="" width="353" height="500" /></a>Пишу в блог редко из-за нехватки времени. Занят переездом и ремонтом квартиры. Еще между делом открыл свое дело &#8211; фотосалон. Предприниматель типа <img src='http://blog.ildart.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Все время забирает он.</p>
<p>Статьи про домашний сервер на Убунту и про Damn Small Linux продолжатся. Плюс начну новый цикл на тему как написать свою CMS (систему управления сайтом). Накопилось много мелких скриптов, хочется все их объединить в одно целое, чтобы каждый раз не думать где же я это применял. Хочется применить весь опыт в программировании и сделать что-нибудь большое <img src='http://blog.ildart.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=%D0%90%D0%BD%D0%BE%D0%BD%D1%81+http%3A%2F%2Fblog.ildart.ru%2F%3Fp%3D1278" title="Post to Twitter"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a>     <a class="tt" href="http://www.facebook.com/share.php?u=http://blog.ildart.ru/2012/01/22/anons/&amp;t=%D0%90%D0%BD%D0%BE%D0%BD%D1%81" title="Post to Facebook"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big1.png" alt="Post to Facebook" /></a>    </p></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ildart.ru/2012/01/22/anons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Быстрое конвертирование mp3 в командной строке</title>
		<link>http://blog.ildart.ru/2011/12/02/bystroe-konvertirovanie-mp3-v-komandnojj-stroke/</link>
		<comments>http://blog.ildart.ru/2011/12/02/bystroe-konvertirovanie-mp3-v-komandnojj-stroke/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 09:16:45 +0000</pubDate>
		<dc:creator>Ильдар Галиуллин</dc:creator>
				<category><![CDATA[Софт]]></category>

		<guid isPermaLink="false">http://blog.ildart.ru/?p=1270</guid>
		<description><![CDATA[Lame MP3 Encoder &#8211; консольная утилита быстрого и качественного конвертирования аудиофайлов. Текущая версия v3.99 (октябрь 2011). Есть версии для всех наиболее распространенных операционных систем. Скачать можно с сайта разработчиков http://lame.sourceforge.net/download.php Lame умеет конвертировать из одного формата в другой, сжимать файл, &#8230; <a href="http://blog.ildart.ru/2011/12/02/bystroe-konvertirovanie-mp3-v-komandnojj-stroke/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.ildart.ru/wp-content/uploads/2011/12/logo.gif"><img class="alignright size-full wp-image-1273" title="lame" src="http://blog.ildart.ru/wp-content/uploads/2011/12/logo.gif" alt="" width="358" height="231" /></a><br />
<strong>Lame MP3 Encoder</strong> &#8211; консольная утилита быстрого и качественного конвертирования аудиофайлов. Текущая версия v3.99 (октябрь 2011). Есть версии для всех наиболее распространенных операционных систем. Скачать можно с сайта разработчиков <a href="http://lame.sourceforge.net/download.php">http://lame.sourceforge.net/download.php</a></p>
<p>Lame умеет конвертировать из одного формата в другой, сжимать файл, делать из стерео звука моно&#8230; Подробней посмотрим на примерах.<span id="more-1270"></span></p>
<p>Синтаксис использования такой:</p>
<p><code>lame [options] &lt;infile&gt; [outfile]</code></p>
<p>Начнем с самого простого &#8211; конвертирование из wav в mp3:</p>
<p><code>lame track.wav track.mp3</code></p>
<p>Разберем по частям:</p>
<p><code>lame</code> &#8211; запускаем сам конвертер и передаем ему слудующие параметры,<br />
<code>track.wav</code> &#8211; имя исходного файла,<br />
<code>track.mp3</code> &#8211; имя выходного файла. Название можете написать любое.</p>
<p>На выходе вы получите mp3 файл с битрейтом 128 кбит (по умолчанию).</p>
<p>Еще пример:</p>
<p><code>lame --abr 112 track.wav track.mp3</code> &#8211; кодирование со средним битрейтом 112 кбит.</p>
<p>Что еще умеет Lame MP3 Encoder:</p>
<ul>
<li>добавлять id3 теги в файл,</li>
<li>фильтровать частоты (эквалайзер),</li>
<li>изменять параметры формирования психо-акусктической модели,</li>
<li>устанавливать приоритет процесса кодирования, чтобы сильно не загружать компьютер,</li>
<li>потоковое аудио,</li>
<li>кодировать с постоянным, средним и переменным битрейтом,</li>
<li>можно использовать шаблонные пресете для оптимизации качества lame &#8211;preset help.</li>
</ul>
<p>В общем, если вам часто приходится конвертировать mp3, присмотритесь к этой замечательной утилите. Подробные функции доступны в документации и в хелпе lame &#8211;help</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%BE%D0%B5+%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+mp3+%D0%B2+%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9+%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B5+http%3A%2F%2Fblog.ildart.ru%2F%3Fp%3D1270" title="Post to Twitter"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a>     <a class="tt" href="http://www.facebook.com/share.php?u=http://blog.ildart.ru/2011/12/02/bystroe-konvertirovanie-mp3-v-komandnojj-stroke/&amp;t=%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%BE%D0%B5+%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+mp3+%D0%B2+%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9+%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B5" title="Post to Facebook"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big1.png" alt="Post to Facebook" /></a>    </p></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ildart.ru/2011/12/02/bystroe-konvertirovanie-mp3-v-komandnojj-stroke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Компилируем php-скрипты в exe-приложения</title>
		<link>http://blog.ildart.ru/2011/11/30/kompiliruem-php-v-exe/</link>
		<comments>http://blog.ildart.ru/2011/11/30/kompiliruem-php-v-exe/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 13:03:58 +0000</pubDate>
		<dc:creator>Ильдар Галиуллин</dc:creator>
				<category><![CDATA[Софт]]></category>

		<guid isPermaLink="false">http://blog.ildart.ru/?p=1267</guid>
		<description><![CDATA[Чтобы php-скрипт работал его нужно разместить на сервере, где есть поддержка php, либо установить веб-сервер на своем компьютере. Но есть еще один альтернативный вариант &#8211; компиляция php-скрипта в exe-приложение. Правда тут есть свои минусы, например, нужно отдельно подключать некоторые библиотеки &#8230; <a href="http://blog.ildart.ru/2011/11/30/kompiliruem-php-v-exe/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Чтобы php-скрипт работал его нужно разместить на сервере, где есть поддержка php, либо установить веб-сервер на своем компьютере. Но есть еще один альтернативный вариант &#8211; компиляция php-скрипта в exe-приложение. Правда тут есть свои минусы, например, нужно отдельно подключать некоторые библиотеки и модули. Этот способ предназначен скорее для простеньких маленьких скриптов, полноценный сайт на нем сделать не получится. Свой калькулятор с необходимыми функциями, ресайзер или конвертер изображений с нанесением своего копирайта или логотипа, граббер контента и многое другое с легкостью можно скомпилировать с помощью Bambalam PHP EXE Compiler.</p>
<p><span id="more-1267"></span>Сайт программы www.bambalam.se/bamcompile. Последнее обновление программы было в 2006 году &#8211; либо автор ее забросил, либо сделал все, что было надо.</p>
<p>Скачиваем и распаковываем zip-архив. Там будет папка с примерами, сам компилятор, файл readme и шаблонный файл. Для удобства будем создавать свои проекты в папке с примерами examples. Для примера будем создавать скрипт выводящий фразу &laquo;Hello, World!&raquo;.</p>
<p>Итак, в папке examples создаем папку для своего проекта, назовем ее my_projects. Теперь пишем php-скрипт выводящий нужную нам фразу:</p>
<p><code>&lt;? echo "Hello, World!"; ?&gt;</code></p>
<p>Сохраняем под именем my_script.php. Для компиляции можно создать бат файл с нужными параметрами или можно запустить компилятор из командной строки.</p>
<p>Батник будет выглядить следующим образом:</p>
<p><code>..\..\bamcompile my_script.php<br />
pause</code></p>
<p>Сохраняем в этой же папке с любым название и с расширением bat. В батнике предполагается, что после распаковки скачанного архива с сайта автора пути не менялись. Я распаковал архив в корень диска С.</p>
<p>Для запуска из командной строки используем следующие параметры:</p>
<p><code>bamcompile [-options] infile.php [outfile.exe]<br />
bamcompile [-options] project_directory mainfile.php [outfile.exe]<br />
bamcompile projectfile.bcp</code></p>
<p>Для создания более сложных приложений можно указать дополнительные параметры в .bcp файле. Структура этого файла такая:</p>
<p><code>; Основной файл, т. е. ваш php-скрипт<br />
mainfile my_script.php<br />
; Имя выходного exe-файла<br />
outfile my_script.exe<br />
; Можно использовать свою иконку<br />
icon theicon.ico<br />
; Сжать выходной exe-файл<br />
compress<br />
; Если хотите, чтобы запускалось в окне пишем следующее<br />
windowed<br />
; Путь для дополнительных файлов<br />
destination /<br />
; Еще доп. файлы<br />
embed project_dir<br />
; Изменить папку назначения<br />
destination pngfiles/<br />
; Добавить еще несколько файлов<br />
embed c:\data\png_files\*.png<br />
; Добавить расширение, библиотеку<br />
extension php_gd2.dll<br />
; Не кодировать php-файлы<br />
dontencode</code></p>
<p>Пример компиляции с использование bcp-файла можете посмотреть в папке examples/calculate.</p>
<p>Я привел самый простой пример. Если у вас богатая фантазия можно придумать очень много способов использования php-скриптов в виде exe-приложений.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D0%B8%D1%80%D1%83%D0%B5%D0%BC+php-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%8B+%D0%B2+exe-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F+http%3A%2F%2Fblog.ildart.ru%2F%3Fp%3D1267" title="Post to Twitter"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a>     <a class="tt" href="http://www.facebook.com/share.php?u=http://blog.ildart.ru/2011/11/30/kompiliruem-php-v-exe/&amp;t=%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D0%B8%D1%80%D1%83%D0%B5%D0%BC+php-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%8B+%D0%B2+exe-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F" title="Post to Facebook"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big1.png" alt="Post to Facebook" /></a>    </p></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ildart.ru/2011/11/30/kompiliruem-php-v-exe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как ускорить запуск Оперы</title>
		<link>http://blog.ildart.ru/2011/11/13/kak-uskorit-zapusk-opery/</link>
		<comments>http://blog.ildart.ru/2011/11/13/kak-uskorit-zapusk-opery/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 05:14:37 +0000</pubDate>
		<dc:creator>Ильдар Галиуллин</dc:creator>
				<category><![CDATA[Софт]]></category>
		<category><![CDATA[opera]]></category>

		<guid isPermaLink="false">http://blog.ildart.ru/?p=1264</guid>
		<description><![CDATA[Почти с первых дней когда у меня появился интернет я пользуюсь браузером Опера. Не буду рассказывать про его плюсы и минусы перед другими браузерами, пусть каждый пользуется тем, что нравится ему. А расскажу о том, как ускорить запуск Оперы. После &#8230; <a href="http://blog.ildart.ru/2011/11/13/kak-uskorit-zapusk-opery/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Почти с первых дней когда у меня появился интернет я пользуюсь браузером Опера. Не буду рассказывать про его плюсы и минусы перед другими браузерами, пусть каждый пользуется тем, что нравится ему. А расскажу о том, как ускорить запуск Оперы.</p>
<p>После очередного обновления заметил до новой версии заметил, что браузер стал запускаться намного дольше (около 10 секунд). Сначала грешил на новую версия, думал разработчики что-то там накосячили, но все оказалось проще. (Хотя все таки, наверно, это их косяк.)</p>
<p>В общем все дело в настройках url-фильтрации. В папке  Оперы есть файл urlfilter.ini. В Убунту это папка /home/%username%/.opera/, в Виндовсе c:\Documents and Settings\%username%\Application Data\Opera\Opera\. В обоих случаях папки скрытые. В файле urlfilter.ini записаны адреса сайтов для фильтрации содержимого. В моем файле было более 22 000 строк с адресами. Видимо Опера тормозила пока все это считывала. Полностью удалять файл не нужно. Можно просто удалить строки ниже строки [exclude] и сохранить файл. В итоге файл будет выглядить вот так:</p>
<p>﻿<code>Opera Preferences version 2.1<br />
; Do not edit this file while Opera is running<br />
; This file is stored in UTF-8 encoding[prefs]<br />
prioritize excludelist=1</code></p>
<p>﻿<code>[include]<br />
*=UUID:3FED3160DF4D11E08710AF33A17066E4</code></p>
<p>﻿<code>[exclude]</code></p>
<p><strong>Плюсы такого решения</strong>:<br />
- после очистки у меня браузер запускается за 1-2 секунды вместо 10.</p>
<p><strong>Минусы</strong>:<br />
- не будет фильтрации содержимого;<br />
- файл снова перезаписывается после обновления.</p>
<p>После обновления можно еще раз почистить этот файл или можно поставить ему атрибуты &laquo;только для чтения&raquo;.</p>
<p>Удачного серфинга!</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=%D0%9A%D0%B0%D0%BA+%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B8%D1%82%D1%8C+%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA+%D0%9E%D0%BF%D0%B5%D1%80%D1%8B+http%3A%2F%2Fblog.ildart.ru%2F%3Fp%3D1264" title="Post to Twitter"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a>     <a class="tt" href="http://www.facebook.com/share.php?u=http://blog.ildart.ru/2011/11/13/kak-uskorit-zapusk-opery/&amp;t=%D0%9A%D0%B0%D0%BA+%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B8%D1%82%D1%8C+%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA+%D0%9E%D0%BF%D0%B5%D1%80%D1%8B" title="Post to Facebook"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big1.png" alt="Post to Facebook" /></a>    </p></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ildart.ru/2011/11/13/kak-uskorit-zapusk-opery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Я всегда буду оплачивать хостинг заранее</title>
		<link>http://blog.ildart.ru/2011/09/29/oplata-hostinga/</link>
		<comments>http://blog.ildart.ru/2011/09/29/oplata-hostinga/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 06:09:21 +0000</pubDate>
		<dc:creator>Ильдар Галиуллин</dc:creator>
				<category><![CDATA[Разное]]></category>

		<guid isPermaLink="false">http://blog.ildart.ru/?p=1261</guid>
		<description><![CDATA[Сегодня, 29 сентября 2011 года, с 0:00 до 9:48 по Москве мой блог был не доступен, так же как и все остальные 7 сайтов. Никаких сбоев не было, просто я забыл продлить хостинг. Вернее даже не забыл, а не успел. &#8230; <a href="http://blog.ildart.ru/2011/09/29/oplata-hostinga/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Сегодня, 29 сентября 2011 года, с 0:00 до 9:48 по Москве мой блог был не доступен, так же как и все остальные 7 сайтов. Никаких сбоев не было, просто я забыл продлить хостинг. Вернее даже не забыл, а не успел. Ну, как обычно это и бывает. Тянешь, тянешь до последнего, думаешь, вот сегодня точно закину денег. В итоге как всегда вспомнил только когда в полночь получил смску от хостера, что все сайты заблокированы, надо денеюжку заплатить.</p>
<p>И как назло утром рядом не оказалось ни одного автомата Qiwi. Один был, но выдавал &laquo;Ошибку связи&raquo;. Закинул на Мегафон денег, чтобы оплатить смской, но все равно не получилось, потому что отправку смс на платные номера я отключил пару месяцев назад. Думал, хорошую штуку придумали, но вот оказывается есть и отрицательная сторона.</p>
<p>Денюжки уже на счете мобильного, а закинуть на qiwi не осталось. Вспомнил, что в Qiwi есть дополнительный способ оплаты со счета мобильного привязанного к кошельку. Чем я и воспользовался. В ответ пришла смска для подтверждения платежа. И через минуту все мои сайты вновь заработали.</p>
<p>Ну и чтобы впредь такого не было я всегда буду оплачивать хостинг заранее. Я всегда буду оплачивать хостинг заранее. Я всегда буду оплачивать хостинг заранее. Я всегда буду оплачивать хостинг заранее. Я всегда буду оплачивать хостинг заранее. Я всегда буду оплачивать хостинг заранее. Я всегда буду оплачивать хостинг заранее. Я всегда буду оплачивать хостинг заранее. Я всегда буду оплачивать хостинг заранее. Я всегда буду оплачивать хостинг заранее.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=%D0%AF+%D0%B2%D1%81%D0%B5%D0%B3%D0%B4%D0%B0+%D0%B1%D1%83%D0%B4%D1%83+%D0%BE%D0%BF%D0%BB%D0%B0%D1%87%D0%B8%D0%B2%D0%B0%D1%82%D1%8C+%D1%85%D0%BE%D1%81%D1%82%D0%B8%D0%BD%D0%B3+%D0%B7%D0%B0%D1%80%D0%B0%D0%BD%D0%B5%D0%B5+http%3A%2F%2Fblog.ildart.ru%2F%3Fp%3D1261" title="Post to Twitter"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a>     <a class="tt" href="http://www.facebook.com/share.php?u=http://blog.ildart.ru/2011/09/29/oplata-hostinga/&amp;t=%D0%AF+%D0%B2%D1%81%D0%B5%D0%B3%D0%B4%D0%B0+%D0%B1%D1%83%D0%B4%D1%83+%D0%BE%D0%BF%D0%BB%D0%B0%D1%87%D0%B8%D0%B2%D0%B0%D1%82%D1%8C+%D1%85%D0%BE%D1%81%D1%82%D0%B8%D0%BD%D0%B3+%D0%B7%D0%B0%D1%80%D0%B0%D0%BD%D0%B5%D0%B5" title="Post to Facebook"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big1.png" alt="Post to Facebook" /></a>    </p></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ildart.ru/2011/09/29/oplata-hostinga/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Damn Small Linux. Установка</title>
		<link>http://blog.ildart.ru/2011/09/07/damn-small-linux-ustanovka/</link>
		<comments>http://blog.ildart.ru/2011/09/07/damn-small-linux-ustanovka/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 05:40:47 +0000</pubDate>
		<dc:creator>Ильдар Галиуллин</dc:creator>
				<category><![CDATA[Damn Small Linux]]></category>

		<guid isPermaLink="false">http://blog.ildart.ru/?p=1231</guid>
		<description><![CDATA[Скачиваем образ диска ftp://ftp.is.co.za/linux/distributions/damnsmall/current/dsl-4.4.10.iso. Прожигаем все это на болванку, в биосе выставляем загрузку с диска, запускаемся. Первое, что мы увидим будет вот такой экран загрузки: Перевожу надписи: Установка на юсб-флешку, запуск в качестве гостевой ОС, MyDSL расширения, установка на жесткий &#8230; <a href="http://blog.ildart.ru/2011/09/07/damn-small-linux-ustanovka/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Скачиваем образ диска <a href="ftp://ftp.is.co.za/linux/distributions/damnsmall/current/dsl-4.4.10.iso">ftp://ftp.is.co.za/linux/distributions/damnsmall/current/dsl-4.4.10.iso</a>. Прожигаем все это на болванку, в биосе выставляем загрузку с диска, запускаемся.</p>
<p>Первое, что мы увидим будет вот такой экран загрузки:</p>
<p><a href="http://blog.ildart.ru/wp-content/uploads/2011/09/dsl-zagruzka.jpg"><img class="alignnone size-medium wp-image-1241" title="dsl-zagruzka" src="http://blog.ildart.ru/wp-content/uploads/2011/09/dsl-zagruzka-300x225.jpg" alt="dsl-zagruzka" width="300" height="225" /></a></p>
<p>Перевожу надписи: Установка на юсб-флешку, запуск в качестве гостевой ОС, MyDSL расширения, установка на жесткий диск. DSL основан на Кноппиксе, Дебиане и GNU Динукс технологиях. Нажмите &lt;энтер&gt; для начала, F2 и F3 для выбора параметров загрузки.</p>
<p>Если нажать F2 можно выбрать следующие параметры загрузки:<br />
<strong>fb1280x1024 | fb1024x768 | fb800x600</strong> разрешение монитора<br />
<strong>dsl vga=normal</strong> безопасный режим видео (нажмите F3 для выбора больших опций)<br />
<strong>dsl xsetup</strong><br />
<strong>dsl noicons</strong> без иконок (не будет иконок на кнопках, пунктах меню и ярлыков на рабочем столе)<br />
<strong>dsl mydsl={hda1|sda1}</strong> восстановить приложения MyDSL (по умолчанию при загрезке с live-cd)<br />
<strong>dsl base</strong> пропустить MyDSL, загрузить только базовую систему<br />
<strong>dsl norestore</strong> отключить автоматическое восстановление<br />
<strong>dsl restore={hda1|sda1|floppy}</strong> указать откуда восстановить сохраненную конфигурацию<br />
<strong>dsl toram</strong> скопировать содержимое live-cd в оперативную память и начать загрузку (требуется от 128Мб). В этом режиме система будет работать очень быстро &#8211; скорость считывания данных с оперативной памяти намного выше, чем с live-cd или жесткого диска. Например, Мозила с live-cd запускается около 10 секунд, а с оперативки 2 секунды (правда я тестировал на хорошем компе, но и на старушке разница будет ощутимой).<br />
<strong>dsl  tohd=/dev/hda1</strong> скопировать содержимое live-cd жесткий диск и начать загрузку<br />
<strong>dsl fromhd=/dev/hda1</strong> загрузка с ранее скопированного образа диска<br />
<strong>dsl {ssh|lpd|cron|fuse|nfs|syslog|monkey|ftp}</strong> Запустить выбранные демоны при старте системы<br />
<strong>dsl lang=us {cs da de es fr nl it pl ru sk &#8230;}</strong> Выбрать язык, раскладку клавиатуры<br />
<strong>dsl no{scsi|pcmci|usb|agp|swap|apm|apic|mce|ddc}</strong> отключить определение указанного оборудования<br />
<strong>dsl dma</strong> включить режим DMA для всех дисков<br />
<strong>dsl 2</strong> текстовый режим, т. е. без графической оболочки как сервер (да, да, из DSL можно сделать сервер <img src='http://blog.ildart.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> )<br />
<strong>failsafe</strong> отключить определение оборудования<br />
<strong>expert</strong> режим эксперта/интерактивный режим</p>
<p>Если нажать F3 можно выбрать следующие опции загрузки:<br />
<strong>dsl vga=7xx</strong> выберите значение из таблицы выше.</p>
<p>Поясню этот пункт подробней. В параметре 7xx можно указать количество цветов и разрешение монитора. Вверху есть таблица, в которой нужно выбрать количество цветов (битность) в колонке справа и разрешение экрана в верхней строчке. На месте пересечения будет значение вроде 789. Например, если разрешение монитора 1024 на 768 и количество цветов 65000 (16 бит), выбираем значение 791. Параметр загрузки будет выглядить так dsl vga=791</p>
<p><strong>dsl sata</strong> поддержка SATA дисков<br />
<strong>dsl secure</strong> запрашивать пароль для пользователя root и dsl<br />
<strong>dsl protect</strong><br />
<strong>dsl host=xxxx</strong> установить имя хоста<br />
<strong>dsl minimal</strong> запустить иксы с минимальным оформлением<br />
<strong>dsl desktop={fluxbox|jwm}</strong> выбор рабочей среды, по умолчанию выбран jwm<br />
<strong>dsl waitusb</strong> ждать ответы от медленных юсб-устройств<br />
<strong>dsl legacy</strong> не загружать unionfs. Что это такое можно почитать на Википедии <a href="http://ru.wikipedia.org/wiki/UnionFS">http://ru.wikipedia.org/wiki/UnionFS</a><br />
<strong>dsl dosswapfile{=hda1}</strong> найти или указать файл подкачки<br />
<strong>dsl chekcfs</strong><br />
<strong>lowram</strong> запустить иксы, с минимальным оформлением, без иконок, без юсб, без scsi, без рейда и т. д.<br />
<strong>install</strong> начать установку в текстовом режиме &#8211; сразу начнется установка, live-cd загружаться не будет.</p>
<p>Эти параметры можно использовать как при загрузке с live-cd, так и указать в grub или lilo (смотря что установите) после установки на жесткий диск. Как выбрать нужные параметры загрузки? Просто наберите их. Можно выбрать несколько параметров через пробел. При этом слово dsl нужно писать только один раз в начале. Внизу экрана есть приглашение для ввода:</p>
<p><code style="background-color: #ddd; border-left: 3px solid grey; display: block; padding: 3px;">boot: _</code><br />
Вот тут и набирайте нужные параметры. Например, если хотим загрузиться без иконок с разрешением 800 на 600 16 бит с предварительной загрузкой содержимого диска в оперативную память и без иконок, надо будет написать следующее:</p>
<p><code style="background-color: #ddd; border-left: 3px solid grey; display: block; padding: 3px;">boot: dsl vga=788 toram noicons</code></p>
<p>Для установки DSL на жесткий диск запустимся без указания параметров. Жмем энтер, пробегут цветные буковки и появится рабочий стол:<a href="http://blog.ildart.ru/wp-content/uploads/2011/09/dsl-desktop.jpeg"><img class="alignnone size-large wp-image-1244" title="dsl-desktop" src="http://blog.ildart.ru/wp-content/uploads/2011/09/dsl-desktop-1024x764.jpg" alt="dsl-desktop" width="640" height="477" /></a></p>
<p><strong>Установка DSL на жесткий диск</strong></p>
<p>Разделы на жестком диске нужно подготовить заранее. В live-cd есть утилита командной строки cfdisk для создания разделов на жестком диске. Для этого запускаем терминал: в контекстном меню (клик мышкой на рабочем столе) выбираем Apps &#8211; XShells &#8211; дальше что-нибудь одно из предложенных Transparent, Light и Dark (это скин терминала: прозрачный, светлый и темный) или Root Access (терминал с root-правами).</p>
<p>Запустили терминал, смотрим какие диски или разделы у нас есть:</p>
<p><code style="background-color: #ddd; border-left: 3px solid grey; display: block; padding: 3px;">sudo fdisk -l</code></p>
<p>Далее создаем системный раздел и своп (файл подкачки). У меня жесткий диск на 1,6 Гб. Сделал два раздела: корень в 1,5 Гб и своп 100 Мб. Для установки DSL требуется минимум около 200 Мб.</p>
<p>Создаем разделы:</p>
<p><code style="background-color: #ddd; border-left: 3px solid grey; display: block; padding: 3px;">sudo cfdisk /dev/hda</code></p>
<p>Вместо hda подставьте свое значение выданное в результатах предыдущей команды fdisk -l. Далее буду приводить свои значения, вы можете их менять на свои по усмотрению и необходимости.</p>
<p>Если диск чистый/новый вас спросят:</p>
<p><code style="background-color: #ddd; border-left: 3px solid grey; display: block; padding: 3px;">"No partition table or unknowk signature on partition table. Do you wish to start with a zero table [y/N]?"</code><br />
На что отвечаем утвердительно &#8211; нажимаем Y. Появится такое окно, это редактор разделов:</p>
<p><a href="http://blog.ildart.ru/wp-content/uploads/2011/09/dsl-cfdisk.jpeg"><img class="alignnone size-full wp-image-1247" title="dsl-cfdisk" src="http://blog.ildart.ru/wp-content/uploads/2011/09/dsl-cfdisk.jpeg" alt="dsl-cfdisk" width="508" height="339" /></a></p>
<p>Выбираем внизу пункт [New] &#8211; создать разделы, выбираем тип раздела [Primary] &#8211; основной раздел и указываем размер в мегабайтах &#8211; 1500. Раздел создан, теперь в списке две строки: только что созданный раздел и оставшееся пустое место. Стрелкой вниз выбираем пустое место и создаем раздел подкачки на всем оставшемся месте.</p>
<p>Далее выбираем файловую систему каждого раздела выбрав пункт [Type]. Пишем 83 для основного раздела и 82 для свопа. Основной раздел помечаем как загрузочный кнопкой [Bootable]. Если все сделали правильно, нажимаем [Write], подтверждаем свои действия набрав yes и тем самым запишем таблицу раздеделов. Закрываем терминал и начинаем установку.</p>
<p>Для установки Damn Small Linux на жесткий диск в контекстном меню выбираем пункт Apps &#8211; Tools &#8211; Install to HardDrive</p>
<p><a href="http://blog.ildart.ru/wp-content/uploads/2011/09/dsl-context-menu.jpeg"><img title="dsl-context-menu" src="http://blog.ildart.ru/wp-content/uploads/2011/09/dsl-context-menu.jpeg" alt="установка dsl на жесткий диск" width="455" height="529" /></a></p>
<p>Дальше отвечаем на несколько вопросов:<br />
Enter the target partition. На какой раздел будет установлена система? Пишем название своего раздела, hda1, например.<br />
<a href="http://blog.ildart.ru/wp-content/uploads/2011/09/dsl-install-to-hdd.jpeg"><img class="alignnone size-full wp-image-1255" title="dsl-install-to-hdd" src="http://blog.ildart.ru/wp-content/uploads/2011/09/dsl-install-to-hdd.jpeg" alt="dsl-install-to-hdd" width="378" height="195" /></a></p>
<p>Do you wish to multi-user logins? Хотите ли вы несколько пользователей в системе? Да/нет.</p>
<p>Use journalized ext3 filesystem? Использовать файловую систему ext3? (не рекомендуется на слабых машинах). Если нет, будет выбрана ext2.</p>
<p>Continue? Продолжить? Если продолжить будет создана файловая система и начнется установка.</p>
<p>Через некоторое время вас спросят будем ли ставить загрузчик? Отвечаем утвердительно. Снова спросят какой именно загрузчик мы хотим поставить Груб или Лило. Я выбрал Груб.</p>
<p>Загрузчик установлен. Перезагружаемся. Диск можно вытащить. После перезагрузки появится экран с выбором варианта загрузки. При необходимости правим параметры нажав &laquo;e&raquo;. Все доступные параметры были описаны выше.</p>
<p>Далее вас попросят придумать пароль для root пользователя и повторить его еще раз. А затем те же действия для пользователя dsl (пользователь по умолчанию).</p>
<p>И наконец появится рабочий стол! <img src='http://blog.ildart.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  На этом установка закончена. В следующей статье про то как сохранить настройки при выключении или перезагрузке.</p>
<p>P.S.: некоторые значения в тексте и на скриншотах могут отличаться, т. к. скриншоты были сделаны позже на виртуальной машине.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Damn+Small+Linux.+%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0+http%3A%2F%2Fblog.ildart.ru%2F%3Fp%3D1231" title="Post to Twitter"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a>     <a class="tt" href="http://www.facebook.com/share.php?u=http://blog.ildart.ru/2011/09/07/damn-small-linux-ustanovka/&amp;t=Damn+Small+Linux.+%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0" title="Post to Facebook"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big1.png" alt="Post to Facebook" /></a>    </p></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ildart.ru/2011/09/07/damn-small-linux-ustanovka/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Damn Small Linux. Что это?</title>
		<link>http://blog.ildart.ru/2011/09/03/damn-small-linux-chto-ehto/</link>
		<comments>http://blog.ildart.ru/2011/09/03/damn-small-linux-chto-ehto/#comments</comments>
		<pubDate>Sat, 03 Sep 2011 11:38:51 +0000</pubDate>
		<dc:creator>Ильдар Галиуллин</dc:creator>
				<category><![CDATA[Damn Small Linux]]></category>

		<guid isPermaLink="false">http://blog.ildart.ru/?p=1227</guid>
		<description><![CDATA[Появилась у меня старенькая машинка: Pentium 200MHz, RAM 48Mb, HDD 1,6Gb, S3 видеокарта. Очень удивило, что наклейка &#171;не срывать&#187; на задней крышке  была не сорвана или срывали очень осторожно. Установлен Windows 98. Хоть железо вполне соответсвовало установленной ОС, работала не &#8230; <a href="http://blog.ildart.ru/2011/09/03/damn-small-linux-chto-ehto/">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1228" title="damnsmall" src="http://blog.ildart.ru/wp-content/uploads/2011/08/damnsmall.jpg" alt="" width="170" height="132" />Появилась у меня старенькая машинка: Pentium 200MHz, RAM 48Mb, HDD 1,6Gb, S3 видеокарта. Очень удивило, что наклейка &laquo;не срывать&raquo; на задней крышке  была не сорвана или срывали очень осторожно. Установлен Windows 98. Хоть железо вполне соответсвовало установленной ОС, работала не очень шустро. Возможно сказывается ее (ОС) 10-летний возраст. Дата установки март 2001 года. Что бы там ни было, винду я сразу снес и поставил DSL — Damn Small Linux. О ней и расскажу подробно в нескольких ближайших постах.</p>
<p>Что такое DSL?</p>
<p>DSL — Damn Small Linux, что в переводе на русский означает чертовски маленький линукс. Он действительно чертовски маленький, установочный диск всего 50 Мб. Дистрибутив основан на Дебиане. Загружается с LiveCD, после чего можно установить на жёсткий диск или юсб флешку. Минимальные системные требования: ЦП — 486DX, ОЗУ — 16 МБ.<span id="more-1227"></span>Официальный сайт http://damnsmalllinux.org. Последняя версия Damn Small Linux — 4.4.10 от 18 ноября 2008.</p>
<p>Не смотря на то, что дистрибутив занимает всего 50 Мб, в его составе есть что нужно для начала работы: браузер, клиент электронной почты, веб сервер, ftp клиент, ftp сервер, ssh сервер, игры, офисные приложения (электронные таблицы, текстовый процессор с проверкой правописания, текстовые редакторы, приложения для работы с графикой, просмотрщик PDF, аудиоплеер, файловый менеджер&#8230; Также у DSL есть скрипты для скачивания и установки менеджера пакетов Debian APT и Synaptic, графический интерфейс к APT.</p>
<p>Забегая вперед скажу, что работает в разы быстрее 98-й винды. И сразу пару скриншотов (кликабельны):</p>
<p><a href="http://blog.ildart.ru/wp-content/uploads/2011/08/dsl-2.3jwm.jpg"><img class="size-medium wp-image-1229 alignnone" title="damn small linux" src="http://blog.ildart.ru/wp-content/uploads/2011/08/dsl-2.3jwm-300x225.jpg" alt="DSL" width="300" height="225" /></a><a href="http://blog.ildart.ru/wp-content/uploads/2011/08/dsl-3.1.jpg"><img class="size-medium wp-image-1230 alignnone" title="DSL" src="http://blog.ildart.ru/wp-content/uploads/2011/08/dsl-3.1-300x240.jpg" alt="Damn Small linux" width="300" height="240" /></a></p>
<p>Скачать образ livecd можно по одной из ссылок на сайте производителя http://damnsmalllinux.org/download.html</p>
<p><a href="http://ыы">Загрузка с LiveCD и установка на жесткий диск</a>.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Damn+Small+Linux.+%D0%A7%D1%82%D0%BE+%D1%8D%D1%82%D0%BE%3F+http%3A%2F%2Fblog.ildart.ru%2F%3Fp%3D1227" title="Post to Twitter"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big1.png" alt="Post to Twitter" /></a>     <a class="tt" href="http://www.facebook.com/share.php?u=http://blog.ildart.ru/2011/09/03/damn-small-linux-chto-ehto/&amp;t=Damn+Small+Linux.+%D0%A7%D1%82%D0%BE+%D1%8D%D1%82%D0%BE%3F" title="Post to Facebook"><img class="nothumb" src="http://blog.ildart.ru/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook-big1.png" alt="Post to Facebook" /></a>    </p></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ildart.ru/2011/09/03/damn-small-linux-chto-ehto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

