Архив метки: Ubuntu

Отключаем глобальное меню в Ubuntu 12.04

Наверно не я один задаюсь вопросом, зачем разработчики Unity Desktop создали глобальное меню. Возможно в этом было чтото глубокое и хорошее, но в результате очень не удобно постоянно переключаться между окнами и искать нужный тебе пункт меню, при этом не всегда очевидно к какому из окон это меню относится.

И скорее всего, не у меня одного, появилась мысль его отключить 🙂  Сделать это, к счастью, очень просто. Достаточно зайти в терминал и выполнить не хитрую комманду:

sudo apt-get autoremove appmenu-gtk appmenu-gtk3 appmenu-qt

В результате было:

стало:

Автор: Sergiy Kamolov
Дата публикации: 2012-12-10T12:14:00.000+02:00

Встречаем Linux Mint 14

Совсем недавно свет увидела новая версия распространенной операционной системы Linux Mint 14-ой версии.

Новая версия этой операционной системы была создана на основе весьма распространенной Ubuntu 12.10 и новой версии ядра Linux порядковый номер, которой 3.5. В данной версии дистрибутива появились две графические оболочки Cinnamo новой версии, порядковый номер которой 1.6 и MATE порядковый номер этой графической оболочки — 1.4. Заметные изменения претерпел и менеджер дисплеев MDM, поддерживающий темы GDM2 и список пользователей с аватарами. Программа управления пакетами в этой версии дистрибутива теперь не использует apt-демон, на смену ему пришел новый собственный менеджер пакетов с поддержкой debconf. Читать

Улучшаем производительность веб-ресурса. Установка mod_pagespeed в Ubuntu

Для начала загружаем пакет с сайта Google

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb

или для 32-битной системы

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.deb

Терь устанавливаем пакет (обезательно с правами root):

dpkg -i mod-pagespeed-*.deb
apt-get -f install

Настройка модуля осуществляется в файле /etc/apache2/mod-available/peagespeed.conf

Автор: Sergiy Kamolov

Как правильно установить NetBeans на Ubuntu 12.04

Я конечно не претендую, что описанный ниже метод асболютно правильный, но он простой и обеспечивает мне стабильную работу приложения уже достаточно долгое время…

Если устанавливать NetBeans сразу после установки системы, а я именно так всегда и делаю, то для начала понадобится установить JDK. Я много встречал негативных комментариев и «камней» в сторону дефолтного JDK, что решил воспользоваться альтернативным, а точнее Oracle JDK.

Порядок установки Oracle JDK следующий:

1. Удаляем OpenJDK:

sudo apt-get purge openjdk*

2. Открываем терминал и запускаем следующую последовательность комманд:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

 

3. После успешной установки проверяем версию JDK

java -version
  

Теперь идем на сайт NetBeans и качаем последнюю версию IDE:
http://netbeans.org/downloads/index.html

Находим сохраненный файл (я обычно сохраняю его на Рабочий стол), открываем свойсва файла, находим вкладку Permissions и ставим галочку в поле Allow executing file as programm. Закрываем окно, запускаем файл и устанавливаем NetBeans.

Если после первого запуска IDE вы заметили что главное меню сливается с заголовком окна, то необходимо еще выполнить следующее: ищем файлик /usr/share/themes/Ambiance/gtk-2.0/gtkrc, открываем его для редактирования от имени админа

 sudo gedit /usr/share/themes/Ambiance/gtk-2.0/gtkrc

… находим строку 338 с текстом

 style «menu» {

 и меняем ее на

 style «menu» = «dark» {

 Сохраняем и перезапускаем NetBeans (если он был запущен)…

Автор: Sergiy Kamolov
Дата публикации: 2012-08-20T13:42:00.002+03:00

Elgg: mod-rewrite для NGINX

Сегодня развернул Elgg на веб-сервере NGINX, и первая проблема с которой столкнулся — это небходимость замены mod-rewrite директив, которые содержатся в файле .htaccess, на соответсвующие правила для NGINX (rewrite-rules).

И первый вопрос, который у меня возник: куда нужно писать эти правила?
Rewrite-rules для Nginx указываются внутри секции server в файле настройки виртуального хоста, например /etc/nginx/sites-available/default.

Следующий вопрос был: что же туда писать?
Если подумать логически, то задача не совсем сложная, необходимо всего лишь конвертировать директивы из htaccess в соответвующие правила для nginx. Спасибо Томасу Делингу, который уже провел иследования в этом вопросе и успешно конвертировал директивы файла htaccess для Elgg 1.8.2. Все что мне осталось, это скопировать набор правил и обновить файл настройки виртуального хостинга, в результате он выглядел приблизительно так:

server {
listen 80;
server_name elgg.domain.com;
root /var/www-nginx/elgg/htdocs/;

error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;

index index.php index.html;
fastcgi_index index.php;

client_max_body_size 8M;
client_body_buffer_size 256K;

rewrite ^/pg/([A-Za-z0-9_-]+)$ /engine/handlers/page_handler.php?handler=$1&$args;
rewrite ^/pg/([A-Za-z0-9_-]+)/(.*)$ /engine/handlers/page_handler.php?handler=$1&page=$2&$args;
rewrite ^/tag/(.+)/?$ /engine/handlers/page_handler.php?handler=search&page=$1;
rewrite ^/action/([A-Za-z0-9_-/]+)$ /engine/handlers/action_handler.php?action=$1&$args;
rewrite ^/cache/(.*)$ /engine/handlers/cache_handler.php?request=$1&$args;
rewrite ^/services/api/([A-Za-z0-9_-]+)/(.*)$ /engine/handlers/service_handler.php?handler=$1&request=$2&$args;
rewrite ^/export/([A-Za-z]+)/([0-9]+)/?$ /engine/handlers/export_handler.php?view=$1&guid=$2;
rewrite ^/export/([A-Za-z]+)/([0-9]+)/([A-Za-z]+)/([A-Za-z0-9_]+)/$ /engine/handlers/export_handler.php?view=$1&guid=$2&type=$3&idname=$4;
rewrite /xml-rpc.php /engine/handlers/xml-rpc_handler.php;
rewrite /mt/mt-xmlrpc.cgi /engine/handlers/xml-rpc_handler.php;
rewrite ^/rewrite.php$ /install.php;
if (!-d $request_filename){
set $rule_11 1$rule_11;
}
if (!-f $request_filename){
set $rule_11 2$rule_11;
}
if ($rule_11 = "21"){
rewrite ^/([A-Za-z0-9_-]+)$ /engine/handlers/page_handler.php?handler=$1;
}
if (!-d $request_filename){
set $rule_12 1$rule_12;
}
if (!-f $request_filename){
set $rule_12 2$rule_12;
}
if ($rule_12 = "21"){
rewrite ^/([A-Za-z0-9_-]+)/(.*)$ /engine/handlers/page_handler.php?handler=$1&page=$2;
}

location ~ .php$ {
include fastcgi_params;

# Assuming php-fastcgi running on localhost port 9000
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}

# Do not put CSS there or it will break simplecache
location ~* .(bmp|js|gif|ico|jpg|jpeg|png)$ {
expires max;
# log_not_found off;
}
}

Автор: Sergiy Kamolov
Дата публикации: 2012-08-06T13:42:00.001+03:00

Как установить и настроить NGINX+PHP+XDebug на Ubuntu 12.04

1. Установка NGINX-сервера:
sudo add-apt-repository ppa:nginx/stable 
sudo apt-get update 
sudo apt-get install nginx
2. Установка PHP:
 

Если на вашем сервере php еще не установлен, то необходимо выполнить следующее:

sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql

В противном же случае достаточно установить пакет php5-fpm:

sudo apt-get install php5-fpm

3. Настройка виртуального хоста в NGINX

Открываем и редактируем файл  /etc/nginx/sites-available/default:

sudo gedit  /etc/nginx/sites-available/default

Для начала поменяем параметры root и index в секции server:

server{
...
    root: /var/www;
    index: index.php
...
}

Если вы уже пользуетесь веб-сервером apache, то для правильной работы nginx нужно будет поменять номер порта с 80 на 8000:

server{ 
 listen: 8000;
...
}

Убираем комментарии со следующих строк:

 location ~ .php$ {
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 include fastcgi_params;
  }

4. Запускаем NGINX

sudo service nginx start

Также запускаем сервис, отвечающий за работу php:

sudo service php5-fpm start

5. Установка и настройка XDebug

Устанавливаем точно так же как описано в первой части статьи «Как настроить NetBeans для работы с XDebug»

Далее небходимо отредактировать файл /etc/php5/fpm/php.ini.

sudo gedit /etc/php5/fpm/php.ini

Перед тегом Date добавляем следующий код:

zend_extension="/usr/lib/php5/20090626/xdebug.so"

xdebug.default_enable = On
xdebug.var_display_max_depth=6
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9900
xdebug.remote_handler=dbgp
xdebug.idekey=netbeans-xdebug
xdebug.remote_autostart=1
xdebug.remote_log=/tmp/xdebug.log
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
xdebug.profiler_output_dir=/tmp/profiler
xdebug.show_local_vars=1
xdebug.overload_var_dump=1

… перезагружаем сервер

 

sudo service nginx restart

так как при перезагрузке сервера параметры php.ini автоматически не обновляются, необходимо также перезагрузить сервис php5-fpm:

 

sudo service php5-fpm restart

6. Настройка NetBeans

Открываем NetBeans Tools>Options>PHP>Debugging и в строке Debugger Port вводим значение 9900, нажимаем Ok.

На этом настройка завершена.

Осталось только поместить в /var/www тестовый файл index.php с кодом:

echo phpinfo();

Автор: Sergiy Kamolov