окт 16 2011

Kак да изведем уникалните записи от дадена таблица без да бъдат повтаряни с помоща на MySQL и неговата опция order by group.

Категория: MySQLАдминистратор @ 11:56 pm

Ако имаме примерната таблица:
LID SID PID LangID

Структура на таблицата:
LID – auto increment, primary key.
SID – integer
PID – integer
LangID – integer

Това е примерна таблица с езици от CMS система, трябват ни LangID (идентификаторите на различни езици) от всички страници в сайт с SID = X.

SQL query„SELECT * FROM pages WHERE sid=’1′ group by langID“; това ще изведе всички уникални ключове от поле LangID.


Автор: Г.Георгиев(Gesh)

Етикети:


окт 13 2011

Минимална и максимална стойност от таблица в MySQL.

Категория: MySQL,PHPАдминистратор @ 4:48 pm

Това е заявката за максимална стойност от дадено поле в дадена таблица:
SELECT * FROM uc_products WHERE sell_price = (SELECT MAX( sell_price) FROM uc_products)

Тове е заявката за минимална стойност от дадено поле в дадена таблица:
SELECT * FROM uc_products WHERE sell_price = (SELECT MIN( sell_price) FROM uc_products)

Ако това ви е позната таблица и поле то значи имате опит с drupal cms и ubercart модула.

Автор: Г.Георгиев(Gesh)

Етикети: ,


окт 10 2011

Търсене на файлове в линукс find / -name и стрингове в тях.

Категория: LINUX,PHPАдминистратор @ 3:57 pm

Днес ми се наложи да отстраня една много противна гадина, която се е залепила за една дузина файлове на служебния уеб сървър. За целта трябва да търся даден стринг, който е направен през base64_encode() – функция на php, която може да ни кодира даден код и при печатането на base64_decode() между php тагове се отпечатва въпросният кодиран изпълним код.

1. find / -name *.php | xargs grep ‘abv’ -l
горната команда ще върне всички файлове, които съдържат стринг abv, до който има достъп потребителя през който сме влезли в системата. Като четенето на файловете започва от / до последното ниво на всяка директория.
Забележки: grep командата приема и стринг във формат „abv“ или abv без кавички, кавичките се слагат в случай когато имаме кавички в самия стринг.


2.
Ако на машината имаме директории като cache, backup или нещо, което се трие и създава ежедневно, за да не изтезавате сървъра премахнете търсенето от тези директории.
find / \( ! -name cache \) -o \( ! -name root -prune \) -name *.php | xargs grep ‘abv’

Автор: Г.Георгиев(Gesh)


Етикети: , ,


сеп 27 2011

Преглед на активни процеси в линукс – ps aux | grep myproces

Категория: apache2,LINUXАдминистратор @ 1:46 am

1.  Идентифицираме се като root потребител.
2. Пишем следната команда ps aux | grep httpd като httpd може да бъде какъвто и да е процес.
3. Върнатия резултат ще е нещо от този вид:

[root@HOST-SERVER /]# ps aux | grep proftpd
root     23833  0.0  0.0   4184   824 pts/0    S+   01:42   0:00 grep proftpd

-горния ред показва наличие на програма или резултат от програма, която връща proftpd, ако програмата proftpd е заредена ще видим 2 или повече редове, примерно:

[root@HOST-SERVER /]# ps aux | grep httpd
root       953  0.0  0.5  23036 10496 ?        Ss   Sep20   0:14 /usr/sbin/httpd -k start
http      1053  0.0  0.3  18956  6344 ?        S    Sep20   0:00 /usr/sbin/httpd -k start
http     23199  0.1  0.9  32808 20388 ?        S    00:36   0:06 /usr/sbin/httpd -k start
http     23332  0.1  1.3  39600 27184 ?        S    00:46   0:06 /usr/sbin/httpd -k start
http     23521  0.2  1.1  35204 22748 ?        S    01:13   0:04 /usr/sbin/httpd -k start
http     23644  0.2  1.2  38744 26000 ?        S    01:28   0:02 /usr/sbin/httpd -k start
http     23691  0.5  1.2  38732 26288 ?        S    01:28   0:04 /usr/sbin/httpd -k start
http     23695  0.4  1.0  34300 21812 ?        S    01:28   0:04 /usr/sbin/httpd -k start
http     23701  0.2  1.0  34272 21232 ?        S    01:29   0:01 /usr/sbin/httpd -k start
http     23707  0.3  1.0  34284 21768 ?        S    01:29   0:02 /usr/sbin/httpd -k start
http     23716  0.0  0.9  31700 18628 ?        S    01:31   0:00 /usr/sbin/httpd -k start
http     23797  0.0  0.8  31104 17772 ?        S    01:37   0:00 /usr/sbin/httpd -k start
root     23859  0.0  0.0   4188   828 pts/0    S+   01:44   0:00 grep httpd

Внимание !

ps може да не е налична в самата дистрибуция, както е при arch linux, конкретно в arch linux се намира в пакета procps
инсталира се с pacman -S procps

Автор: Г.Георгиев(Gesh)


Етикети: , , ,


сеп 27 2011

Задаване на права за директория и нейните под директории и файлове.

Категория: LINUXАдминистратор @ 1:26 am

Задаване на права за директория и нейните под директории и файлове.

1. Влизаме като потребител, който може да прави промени правата на даден файл. Ако не сме собственици на файла може да използваме root идентификация.
2. Пишем командата chmod 755 * -R тази команда ще направи всички файлове и директории с права 755, като започне от директорията, в която се намираме. Може да манипулираме и всички файлове и директории без да сме на определено място например: chmod 755 /my/dir/* -R

Внимание !
Когато използваме root идентификация трябва да внимаваме какви права даваме или отнемаме особено когато касае системни файлове и директории, примерно ако зададем на директория /tmp права по малки от 777 бихме имали проблеми с стартирането и работата на определени програми или скриптове, които създават или трият файлове от /tmp.

Етикети:


сеп 21 2011

Сверяване на часовника в линукс.

Категория: arch linux,LINUX,ubuntuАдминистратор @ 2:04 pm

1. Логваме се в системата като root.
2. С командата: date виждаме текущата дата.
3. Сверяване на час в линукс команда: date --set 23:30:05 ще сверим чесовника като двадесет и три часа тридесет минути и пет секунди.
4. Сверяване на дата в линукс команда: date --set 2011-09-21 ще бъде зададена дата 2011 – година, 09 – месец, 21 – ден.
5. Сверяването на часовника по този начин(ръчно) не се препоръчва!
-при рестарт на системата ако часовника не се сверява(синхронизира) системата ще вземе времето от биос или времето зададено в самата операционна система.
Правилният начин за сверяване на часовника в линукс е като използваме NTP(network time protocol) примерно:
ntpdate sofia.digsys.bg тази команда може да бъде зададена, в някой стартов скрипт например /etc/rc.local в arch linux, slackware, ubuntu.

Автор: Г.Георгиев(Gesh)

Етикети:


юни 13 2010

arch linux – xorg, fluxbox, xinitrc

Категория: arch linux,fluxbox,LINUX,pacman,xinitrc,xorgАдминистратор @ 6:12 pm

1. Install arch

2. Update/Upgrade arch kernel и репозиторито, pacman -Syu

3. Update/Upgrade arch modules и libs, pacman -Syu

-обърнете внимание, че пишем 2 пъти pacman -Syu

-трябва да сложите тези два демона dbus hal в rc.conf, DAEMONS=(dbus hal syslog-ng network netfs crond)

4. Инсталация на xorg server, pacman -S xorg

- ако вашата машина е лапто инсталираите и това, pacman -S xf86-input-synaptics

5. Инсталация на драйвер за видеото, pacman -Ss xf86-video - инсталира стандартен видео драйвър, за да инсталирате интел драйвер, pacman -Ss xf86-video-intel

- за да проверите вашата видео карта, lspci | grep „VGA“

6. Конфигурация на xorg, X -configure

- създава xorg.conf.new в директорията на потребителя с който сте влезли, /home/user/xorg.conf.new

- копираме файла cp /home/user/xorg.conf.new /etc/X11/xorg.conf

7. Инсталация на fluxbox, pacman -Sy fluxbox

8. Конфигурация на .xinitrc, nano ~/.xinitrc

-сложете това в файла

#!/bin/sh

exec startfluxbox

може също да го срещнете и като exec fluxbox, но тогава системата може да не намери пътищата на fluxbox

запазвате файла.

9. След инсталацията на fluxbox трябва да се появи папка ~/.fluxbox ако тя липсва значи нещо не се е случило както трябва.

10. Създаваме основното меню на fluxbox с командата fluxbox-generate_menu

11. Инсталиране на menumaker, pacman -S menumaker

- Генериране на fluxbox менютата, mmaker -v Fluxbox

- ако всичко е наред трябва да се появи файл, ~/.fluxbox/menu

-тази публикация е написана на базата на тези линкове.

http://wiki.archlinux.org/index.php/Xorg#Installing

http://wiki.archlinux.org/index.php/Fluxbox

http://wiki.archlinux.org/index.php/Xinitrc

http://www.linux-bg.org/forum/index.php?topic=35232.0

Общо взето е това.

Автор: Г.Георгиев(Gesh)

За въпрови коментари критика и инфо skype: gesh_rulezzz

Етикети: , , , ,


апр 22 2010

Автоматично зареждане на шел скрипт ubuntu linux shell script autorun with boot system !

Категория: init.d,LINUX,script,shell,ubuntu,ubuntu 8.04Администратор @ 6:30 pm

Автоматично зареждане на shell.sh (шел скрипт)  ubuntu linux shell script autorun with boot system  !!!

1. Създаваме шел скрипта в дир   /etc/init.d/myscript.sh

2. Даваме права на myscript.sh    chmod +x /etc/init.d/myscript.sh

3. Прави скрипта да стартира със системата update-rc.d myscript.sh defaults

Това беше !

-за неточности и правописни грешки :) моля пишете на скайп gesh_rulezzz.

Автор: Г.Георгиев


сеп 08 2009

Инсталация на Apache2 – PHP5 – MySQL – IonCube в Ubuntu 8.04.

Категория: apache2,ioncube,LINUX,PHP,ubuntuАдминистратор @ 6:36 pm

Инсталация на Apache2.

apt-get install apache2

Инсталация на PHP5.

apt-get install php5

Инсталация на MySQL.

apt-get install mysql-server.

Когато правите каквито и да били настроики в конфигурационния файл на apache2 след това трябва да рестартирате apache2 в линукс убунту става с

/etc/init.d/apache2 restart                 – ако сте като root потребител.

sudo /etc/init.d/apache2 restart    - ако сте като обикновен потребител.

Рестарт на MySQL daemon.

/etc/init.d/mysql restart - ако сте като root потребител.

sudo /etc/init.d/mysql restart         – ако сте като обкикновен потребител.


Как да инсталираме IonCube zend-extension.

1. Сваляме пакета, зависи от операционната система и софтуера

за (32 bits) http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

за (64 bits) http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

2. След като свалите пакета го разкомпресирате за

за (32 bits) с tar -zxvf ioncube_loaders_lin_x86.tar.gz

за (64 bits) с tar -zxvf ioncube_loaders_lin_x86-64.tar.gz

3. След това премествате вече създадената папка ioncube в директорията, в която ще остане !

пример mv /scripts/ioncube/ /usr/lib/php5

4. Добре е поради факта сигурност да направите собственик и група на паката ioncube да бъдат  root това става по следният начин.
chown root:root ioncube
но не забравяйте, че трябва да сте в предходната директория, а не в самата папка ioncube.

5. Вписване и редактиране на /etc/php5/apache2/php.ini
Просто трябва да добавите следния ред.

zend_extension = /usr/lib/php5/ioncube/ioncube_loader_lin_5.2.so

Имайте предвид, че файла до който ще посочите пътя трябва да е като версията на PHP с нашият случай 5.2.x може да проверите версията на PHP като направите един файл в рут папката на домейна с име (phptest.php) и напишете в него <?php echo phpinfo();  ?> и заредите файла през браузъра http://moidomain.com/phptest.php

И най-тънкия момент е добавянето на линка за zend_extension -а.

Линка трябва да бъде добавен точно тук.

; Enable compatibility mode with Zend Engine 1 (PHP 4.x)
zend.ze1_compatibility_mode = Off

zend_extension = /scripts/ioncube/ioncube_loader_lin_5.2.so

След това разрешаваме потока от криптираните данни да се предава с опциите по надолу.

y2k_compliance = On

output_buffering = On

zlib.output_compression = on

След това записвате файла и рестартирате apache2 по нагоре пише как :)

Може да проверите дали всичко е наред и дали zend_extension е добавен успешно с следната команда php -v трябва да видите на последният ред whit zend_extension но това може да не се случи, или е необходимо да се рестартира ОС, но най-вероятно ще забележите дали zend_extension е наличен по това дали софтурера, който вероятно изисква zend_extension приеме приложението и ви позволи да продължите нататък.

Теста е проведен на ubuntu 8.04, php-5.2.4.

-за неточности и правописни грешки :) моля пишете на скайп gesh_rulezzz.

Автор: Г.Георгиев