Apostrofy w input Kategoria: Codeigniter | Autor: Bartłomiej Gałęzia

W Codeigniterze (a właściwie w samym php) występuje pewien problem z apostrofami jeśli są zapisywane w bazie i ponownie wyświetlane w polu input w formularzu.

Jako przykładu użyję pola Model w bazie Samochody.

Zobacz całość

Apache mod rewrite Kategoria: WWW | Tagi: apache, rewrite | Autor: Bartłomiej Gałęzia

a2enmod rewrite
echo ServerName localhost >> /etc/apache2/apache2.conf
vim /etc/apache2/sites-enabled/000-default
<Directory /var/www/>
   ...
   AllowOverride FileInfo
   ...
</Directory>

/etc/init.d/apache2 restart

Ubuntu install Real VNC Kategoria: Linux | Tagi: vnc | Autor: Bartłomiej Gałęzia

Register on realvnc.com and activate your account

https://manage.realvnc.com/

Download VNC Connect

https://www.realvnc.com/en/connect/download/vnc/linux/

Run VNC Server:

/etc/init.d/vncserver-x11-serviced start

Run Licensing Wizard and login with your realvnc.com account

vnclicensewiz

To autorun VNC Server on boot use this:

sudo update-rc.d vncserver-x11-serviced defaults

Zobacz całość

XEN - migracja maszyn pomiędzy serwerami XEN Kategoria: Linux | Tagi: clone, dd, migracja, xen | Autor: Bartłomiej Gałęzia

Nie jest to idealne rozwiązanie ale działa.

1. Należy stworzyć wolumen na który będziemy zapisywać obraz dysku źródłowego. Wolumen ten powinien być conajmniej tej samej wielkości do dysk źródłowy.

lvcreate -n transfer_disk -L 200G xenvms

2. Podłączamy ten dysk do wirtualki, którą chcemy zmigrować i bootujemy ją z live-cd

Zobacz całość

Skrypt blokujący adres IP do 3 nieudanych próbach logowania.

1. Dodajem akcję logowania "zlylogin"

System -> Logging -> [Actions] -> [+]
Name: zlylogin
Type: memory
System -> Logging -> [Rules] -> [+]
Topics: critical, system, error
Action: zlylogin

 

Zobacz całość

XEN - autostart VM Kategoria: Linux | Tagi: autorun, xen | Autor: Bartłomiej Gałęzia

Domyślnie po restarcie serwera XEN maszyny wirtualne nie startują automatycznie.

Aby to się udało należy zrobić linki symboliczne (ln -s) do configów poszczegółnych maszyn wskazujące na katalog /etc/xen/auto (musimy go utworzyć).

mkdir /etc/xen/auto

Jeśli chcemy przekierować wszystkie configi z katalogu, wystarczy zastosować taki symlink:

ln -s /etc/xen/ /etc/xen/auto

Natomiast jeśli chcemy uruchomić tylko poszczególne maszyny, należy to zrobić osobno dla każdego configa:

ln -s /etc/xen/MY_DOMU_GUEST_1.cfg /etc/xen/auto/
ln -s /etc/xen/MY_DOMU_GUEST_2.cfg /etc/xen/auto/

Cała konfiguracja autostartu jest opisana w pliku:

/etc/default/xendomains
XENDOMAINS_RESTORE=true
XENDOMAINS_AUTO=/etc/xen/auto

Źródło: https://askubuntu.com/questions/196444/how-do-i-auto-start-xen-guests-on-boot

XEN - install Windows 7 Kategoria: Linux | Tagi: windows, win 7, xen | Autor: Bartłomiej Gałęzia

Plik konfiguracyjny z wirtualką Windows 7 na XEN

kernel = '/usr/lib/xen-4.8/boot/hvmloader'
builder = 'hvm'

vcpus       = '1'
memory      = '2048'
shadow_memory = 8

localtime = 1 # Disk device(s). disk = [ 'file:/xen/ISO/win7_Pro_SP1_x64.iso,hdb:cdrom,r', 'phy:/dev/xenvms/win7,xvda,w' ] boot = "dc" # Hostname name = 'awin7' # Networking vif = [ 'mac=00:11:22:33:44:55,bridge=xenbr0' ] vnc=1 vncconsole=1 vncpasswd='password' vncunused = 1 vnclisten = '192.168.1.1'
stdvga = 0 serial = 'pty' usbdevice = 'tablet' # Required for USB mouse ## Behaviour
on_shutdown = 'destroy' on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'

Domyślnie w UTF-8 sortowanie ustawia literę "Ł" na końcu listy.

Aby to zmienić należy zmienić COLLATION przy ORDER BY na 'utf8_polish_ci'.

Zmiany należy dokonać w pliku:

system/database/DB_query_builder.phg

było

$qb_orderby[] = ($direction === '' && preg_match('/\s+(ASC|DESC)$/i', rtrim($field), $match, PREG_OFFSET_CAPTURE))
? array('field' => ltrim(substr($field, 0, $match[0][1])), 'direction' => ' '.$match[1][0], 'escape' => TRUE)
: array('field' => trim($field), 'direction' => $direction, 'escape' => TRUE);

ma być

$qb_orderby[] = ($direction === '' && preg_match('/\s+(ASC|DESC)$/i', rtrim($field), $match, PREG_OFFSET_CAPTURE))
? array('field' => ltrim(substr($field, 0, $match[0][1])), 'direction' => ' '.$match[1][0], 'escape' => TRUE)
: array('field' => trim($field), 'direction' => 'COLLATE utf8_polish_ci '.$direction, 'escape' => TRUE);

WAŻNE! Nie działa jeśli sortujemy liczby!

Ubuntu - upgrage JDK/JVM 1.7 do 1.8 Kategoria: Linux | Tagi: java, ubuntu | Autor: Bartłomiej Gałęzia

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

Źródło: https://stackoverflow.com/questions/30177455/moving-from-jdk-1-7-to-jdk-1-8-on-ubuntu

Napisana nazwa:

Nazwa przy edycji:

Przy zapisaniu takiego rekordu tworzy się jeszcze większy bałagan.

Aby uniknąć takie sytuacji należy przy edycji podać jako atrybut "value":

value=<?php echo html_entity_decode($nazwa, ENT_QUOTES, 'UTF-8');?>"

Wtedy po zapisaniu rekordu ampersant nadal będzie "&" zamiast "&amp;".

Jeden z prostszych skryptów z zadeklarowaną nazwą pliku

System -> Scripts -> [+]
Name = "autobackup"
Source
:local ts [/system clock get time]
:set ts ([:pick $ts 0 2]."_".[:pick $ts 3 5]."_".[:pick $ts 6 8])

:local ds [/system clock get date]
:set ds ([:pick $ds 7 11]."_".[:pick $ds 0 3]."_".[:pick $ds 4 6])

:local fname ("BACKUP-".[/system identity get name]."-".$ds."-".$ts)
:local sfname ("/".$fname)

/system backup save name=($sfname.".backup")
/export file=($sfname.".rsc")

Następnie należy dodać skrypt do Schedulera

System -> Scheduler -> [+]
Name = "autobackup"
Interval ="1d 00:00:00"
On Event
/system script run autobackup

Zobacz całość

Aby włączyć automatyczną kopię zapasową przyrostową na komputerach i serwerach z windowsem należy:

1. Zainstalować SyncToy

https://www.microsoft.com/en-us/download/details.aspx?id=15155

Zobacz całość

Heheszki ssh telnet Kategoria: Linux | Tagi: ssh, telnet | Autor: Bartłomiej Gałęzia

Snake SSH

ssh sshtron.zachlatta.com

Star Wars telnet

telnet towel.blinkenlights.nl

Mapa Świata w ASCII

telnet mapscii.me

Mikrotik export DHCP config Kategoria: MikroTik | Tagi: dhcp, mikrotik | Autor: Bartłomiej Gałęzia

/ip dhcp-server export file=leaseConfiguration.txt

Źródło: https://forum.mikrotik.com/viewtopic.php?t=29597

Ubuntu 14.04 Połączenie VPN L2TP IPsec Kategoria: Linux | Tagi: mikrotik, ubuntu, vpn | Autor: Bartłomiej Gałęzia

Konfigurowanie połączenia VPN za pomocą L2TP IPsec do routera Mikrotik.

1. Instalujemy wymagane paczki:

sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp #ubuntu 20.04
aptitude update
sudo apt-get install openswan xl2tpd l2tp-ipsec-vpn

2. Uruchamiamy managera połączeń VPN

L2tpIPsecVpn

3. Dodajemy nowe połączenie VPN.

Zobacz całość

Mikrotik VPN L2TP IPsec Kategoria: MikroTik | Tagi: mikrotik, vpn | Autor: Bartłomiej Gałęzia

Zestawianie połączenia VPN przez L2TP + IPsec.

Wariantów jest kilka ale przedstawię mój ulubiony.

1. Uruchamiany server DHCP dla bridge'a do którego mamy podłączone wszystkie urządzenia w sieci.

Tworzenie bridge, przypisywanie adresu i instalacja DHCP jest omówiona w poprzednim poście:

http://blog.cssoft.pl/post/mikrotik-base-config

2. Tworzymy Profil użytkownika VPN.

PPP -> [zakładka] Profiles -> [+] ->
-> Name: "users_vpn"
-> Local Address: 192.168.1.100 //adres naszego mikrotika
-> Remote Address: dhcp-pool //można też wpisać statyczny adres lokalny i zdalny
-> OK

Zobacz całość

Mikrotik block multicast Kategoria: MikroTik | Autor: Bartłomiej Gałęzia

Aby zablokować ruch multicastów na danym porcie należy:

1. Upewnić się, że port wychodzący i przychodzący są połączone w jednym bridge'u.

Bridge -> [zakładka] Ports -> {ether1,ether2}

2. Dodać filtr w Bridge'ach blokujący pakiety przychodzące i wychodzące.

Bridge -> [zakładka] Filters -> [+] ->
-> Chain: forward
-> Interfaces -> In. interface: ether2
-> [zakładka] Advanced -> Packet type: multicast
-> [zakładka] Action -> Action: block
Bridge -> [zakładka] Filters -> [+] ->
-> Chain: forward
-> Interfaces -> Out. interface: ether2
-> [zakładka] Advanced -> Packet type: multicast
-> [zakładka] Action -> Action: block

Export z mikrotika

/interface bridge
add name=bridge_LAN
/interface bridge filter
add action=drop chain=forward in-interface=\
    ether2 packet-type=multicast
add action=drop chain=forward out-interface=\
    ether2 packet-type=multicast
/interface bridge port
add bridge=bridge_LAN interface=ether1
add bridge=bridge_LAN interface=ether2

http://u-to-l.blogspot.com/2012/06/dealing-with-multicast-traffic-on.html

Mikrotik WLAN config Kategoria: MikroTik | Tagi: mikrotik, wlan | Autor: Bartłomiej Gałęzia

Należy:

1. Dodać interfejs wlan1 do bridge1:

Bridge -> Ports -> [+] ->
-> Interface -> wlan1
-> Bridge -> bridge1
-> OK

2. Ustawić hasło do sieci

Wireless -> [zakładka] Security Profiles -> [przycisk] "+" ->
-> Name -> "WLAN pass" -> WPA PSK -> [uncheck] -> WPA2 Pre-Shared-Key -> "supertajnehaslo"
-> OK

3. Ustawić tryb pracy i nazwę sieci (SSID):

Wireless -> [zakładka] Interfaces -> wlan1 -> [zakładka] Wireless -> 
-> [przycisk] Advanced Mode
-> Mode -> ap bridge -> SSID -> "MikroWLAN" -> Security Profile -> "WLAN pass" -> OK

4. Włączyć interfejs wlan1:

Interfaces -> wlan1 -> [przycisk] enable

Funkcja zwracająca kolor przeciwny do podanego Kategoria: PHP | Autor: Bartłomiej Gałęzia

function color_inverse($color){
    $color = str_replace('#', '', $color);
    if (strlen($color) != 6){ return '000000'; }
    $rgb = '';
    for ($x=0;$x<3;$x++){
        $c = 255 - hexdec(substr($color,(2*$x),2));
        $c = ($c < 0) ? 0 : dechex($c);
        $rgb .= (strlen($c) < 2) ? '0'.$c : $c;
    }
    return '#'.$rgb;
}

Mikrotik Base Config Kategoria: MikroTik | Tagi: mikrotik | Autor: Bartłomiej Gałęzia

1. Po pierwszym uruchomieniu MikroTika należy (przed podłączeniem do internetu!) wyzerować jego konfigurację.

Podłączamy się do MikroTika przez WinBox i wybieramy z menu:

System > Reset Configuration > [checkbox] No Default Configuration > Reset Configuration

Zobacz całość