Comenzi de baza:
http://forum.synology.com/wiki/index.php/Basic_commands_to_get_around_the_Synology_Box_using_the_CLI#Check_system_memory_info
Din considerente care tin de performanta este recomandat ca fisierul Transaction log al unei baze de date MSSQL sa se afle pe alta partitie decat baza de date. Pentru mutarea acestui fisier pe alta partitie se va utiliza instrumentul SQL Server Management Studio (SSMS). In pricipiu aceiasi pasi pot fi urmati pentru mutarea oricarui alt fisier din componenta unei baze de date MSSQL.
Daca, dupa detach, apare eroare ca nu se mai poate conecta la serverul SQL (una din cauze poate fi ca la detach s-a bifat Drop connections, ceea ce a intrerupt inclusiv conexiunea din SSMS), atunci in fereastra de conectare > Options > Connection Properties > in campul Connect to database se scrie master (nu se cauta in lista), apoi Connect, dupa care se pot urma pasii de mai sus pentru Attach.
Memcached este un mecanism de stocare a informatiei sub forma unei perechi (cheie:valoare) in memoria RAM, reducand prin aceasta accesul la disk sau executarea unor interogari asupra unei baze de date. Memcached este distribuit gratuit si poate rula pe diverse sisteme de operare cum sunt Linux, Windows sau Mac OS.
Instalarea si configurarea memcached sunt destul de simple. Pentru utilizare, intr-un scenariu obisnuit (server Linux, Apache, MySQL, Php) sunt necesare 2 pachete software:
Valabil pentru Mio Spirit S555, Mio Spirit 690 LM
1. Pe cardul SD se creaza folderul Default
2. Se copiaza fisierele MioAutoRun.exe, MioAutoRun.mscr si MortScript.exe in folderul Default si se redenumesc primele doua fisiere in Auto.exe si Auto.mscr.
3. Se introduce cardul SD in aparat.
4. Se reseteaza aparatul din butonul de pornire.
5. Se apasa pe ecran pentru a porni aplicatia dorita.
Identificarea indecsilor cu fragmentare mai mare de 80% (TOP 10 – primele 10 inregistrari):
SELECT TOP 10 OBJECT_NAME(i.OBJECT_ID) AS TableName, i.name AS IndexName, indexstats.avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') indexstats INNER JOIN sys.indexes i ON i.OBJECT_ID = indexstats.OBJECT_ID WHERE indexstats.avg_fragmentation_in_percent > 80 AND i.index_id = indexstats.index_id;
Date actuale si corecte obtinute prin serviciile oferite in mod gratuit de openapi.ro. Un instrument foarte bun pentru implementarea unor verificari/validari in aplicatiile dezvoltate.
Generare tema de culori:
http://www.philipwhitt.com/projects/google-visualization-theme-picker
Tema poate fi utilizata sub forma:
var options = { title: 'Raport punctaje obtinute', colors: ['#159E90','#8D0920','#E1B460','#C53780','#AB1560','#A2BF40','#4049D0'] }; var chart = new google.visualization.AreaChart(document.getElementById('chart_div')); chart.draw(data, options);
http://www.vladan.fr/apply-vmware-free-license-vmware-esxi/
Partitiile si dimensiunile acestora sunt stabilite in functie de recomandarile Plesk si recomandarile CentOS, pe un harddisk cu capacitatea de 500GB. Sistemul CentOS 7 a fost instalat cu profilul Minimal install.
/swap = 4GB
/boot = 500MB
/ (root) = 15-20GB
/tmp = 3-5GB (min 3GB)
/var = restul
Hostname: web.example.com
IP fix: 192.168.2.7
Dezactivare SELINUX:
In fisierul /etc/selinux/config se efectueaza modificarea:
SELINUX=disabled
Oprire si dezactivare serviciu firewalld:
[root@web tmp]# systemctl stop firewalld [root@web tmp]# systemctl mask firewalld
Instalare serviciu iptables:
[root@web tmp]# yum install iptables-services
Activare serviciu iptables:
[root@web tmp]# systemctl enable iptables
Generare/salvare fisier configuratie iptables:
[root@web tmp]# service iptables save
Acest fisier se poate edita pentru a deschide anumite porturi,
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 8443 -j ACCEPT -A INPUT -p tcp -m tcp --dport 8447 -j ACCEPT
dupa care serviciul iptables trebuie restartat:
[root@web tmp]# service iptables restart
Instalare diverse utilitare:
[root@web tmp]# yum install wget mc gcc php-devel
Dupa ce toate setarile au fost efectuate este recomandat sa fie restartat si server-ul inainte de pornirea instalarii Plesk. Asadar:
[root@web tmp]# reboot
[root@web tmp]# wget http://autoinstall.plesk.com/plesk-installer [root@web tmp]# sh ./plesk-installer
Daca, in schimb, se doreste instalarea din interfata web se va rula comanda:
[root@web tmp]# ./plesk-installer --web-interface
apoi se va deschide in browser adresa https://ip-address:8447.
Daca instalarea se opreste cu eroarea ca psa-mod_fcgid intra in conflict cu mod_fcgid, atunci trebuie dezinstalat mod_fcgid (conform http://kb.sp.parallels.com/en/116134), dupa care se reporneste manual instalarea:
[root@web tmp]# yum remove mod_fcgid [root@web tmp]# sh ./plesk-installer
Documentatia Plesk:
http://download1.parallels.com/Plesk/PP12/12.0/Doc/en-US/online/plesk-installation-upgrade-migration-guide/index.htm?fileName=65780.htm
lsblk – afiseaza informatii despre organizarea discurilor si partitiilor (except RAM disks)
df – raporteaza spatiul liber pentru fiecare partitie
pvs, pvdisplay – afiseaza atributele volumelor fizice
vgdisplay – display attributes of volume groups
dmsetup ls –tree – managementul partitiilor logice (low level)
hdparm – managementul parametrilor pentru device-urile de stocare (SATA/IDE)
hdparm -I /dev/sda
Detalii: http://www.cyberciti.biz/faq/find-hard-disk-hardware-specs-on-linux/
sdparm – acceseaza parametrii device-urilor SCSI
mdadm – managementul si monitorizarea device-urilor RAID software
lshw – furnizeaza informatii detaliate despre configuratia hardware (procesor, memorie, hdd, usb, cdrom, etc…)
fdisk – managementul partitiilor
parted – managementul partitiilor
badblocks – utilitar pentru verificarea bad-urilor unui harddisk
Mai intai se modifica adresa IP pe interfata de retea a sistemului, apoi se face modificarea in Plesk folosind scriptul dedicat acestei operatiuni:
/usr/local/psa/bin/reconfigurator.pl map_file
Daca fisierul map_file nu exista, acesta va fi creat si va contine configuratia actuala. Se editeaza acest fisier conform configuratiei dorite apoi se ruleaza din nou comanda.
Detalii: http://kb.sp.parallels.com/en/943
Daca dupa schimbarea adresei de IP, vechea adresa IP ramane in configuratia Plesk, iar la stergerea ei este afisata eroarea
Cannot remove the IP address 192.168.2.6 because it is the primary IP address of a network interface.
se merge la Tools & Settings > Ip Address > Reread IP, iar vechea adresa IP va fi detectata ca fiind cu probleme. In acest moment se poate sterge vechea adresa din configuratia Plesk.
Detalii: http://kb.sp.parallels.com/en/237
Libraria SAPRFC este o extensie pentru php4 si php5 si permite comunicarea cu sistemele SAP R/3. Este distribuita sub licenta PHP si nu este creata de SAP AG. Pentru instalare este necesara si libraria RFCSDK, care poate fi obtinuta din Sap Service Marketplace, asa cum este descris mai jos. Pentru descarcarea din Sap Service Marketplace este necesar un ID de client SAP.
In continuare sunt detaliati pasii pentru instalarea librariei SAPRFC pe un server CentOS 7. Server-ul CentOS 7 a fost instalat cu profilul Basic Web Server si include PHP Support.
Sap Service Marketplace > Products > Software Downloads > Support Packages and Patches > Browse Download Catalog > Additional Components
Se descarca utilitarul SAPCAR pentru platforma corespunzatoare. Pentru ca SAPCAR e mai usor de utilizat in Windows, am descarcat versiunea pentru Windows si toate dezarhivarile le-am efectuat sub Windows apoi am transferat fisierele pe server-ul Linux.
SAPCAR este un utilitar pentru arhivare/dezarhivare construit de SAP. Cateva detalii despre utilizarea lui pot fi gasite aici: http://www.easymarketplace.de/SAPCAR.php. Pentru dezarhivarea unui fisier de tip .sar cu utilitarul SAPCAR, indiferent de platforma, se foloseste comanda:
SAPCAR_[version].exe -xvf [SAR filename].sar
Sap Service Marketplace > Products > Software Downloads > Support Packages and Patches > Browse Download Catalog > Additional Components
De aici se descarca pachetul SAP RFC SDK Non-UNICODE pentru platforma corespunzatoare (in cazul meu am descarcat versiunea 7.20 pentru Linux on x86_64 64bit). Dupa dezarhivare, folderul rfcsdk se copiaza pe serverul Linux la locatia /usr/src/rfcsdk.
Sap Service Marketplace > Products > Software Downloads > Support Packages and Patches > Browse Download Catalog > Additional Components > SAP Kernel > SAP Kernel 64bit > SAP Kernel 7.20 64bit > Linux on x86_64 64bit > #Database independent
De aici se descarca fisierul librfc_715-10007252.sar. Se dezarhiveaza cu utilitarul SAPCAR, apoi se copiaza fisierul librfccm.so pe serverul Linux la locatia /usr/src/rfcsdk/lib. Daca exista deja acolo un fisier cu acelasi nume trebuie suprascris.
Nota 413708 – detalii despre libraria RFC curenta.
Nota 955397 – detalii despre utilizarea RFC SDK sub Linux
Nota 27517 – detalii despre instalarea RFC SDK (sub Windows)
wget http://pkgs.repoforge.org/re2c/re2c-0.13.5-1.el6.rf.x86_64.rpm rpm -Uvh re2c-0.13.5-1.el6.rf.x86_64.rpm
Detalii: http://pkgs.repoforge.org/re2c/
yum install php-devel yum group install Development Tools
[root@localhost tmp]# cd /tmp [root@localhost tmp]# wget http://nchc.dl.sourceforge.net/project/saprfc/saprfc/1.4.1/saprfc-1.4.1.tar.gz [root@localhost tmp]# tar -zxf saprfc-1.4.1.tar.gz [root@localhost tmp]# cp -R saprfc-1.4.1 /usr/src [root@localhost tmp]# cd /usr/src/saprfc-1.4.1 [root@localhost saprfc-1.4.1]# export SAPRFC_DIR=/usr/src/rfcsdk/ [root@localhost saprfc-1.4.1]# export PATH=$SAPRFC_DIR/bin:$PATH [root@localhost saprfc-1.4.1]# phpize [root@localhost saprfc-1.4.1]# ./configure [root@localhost saprfc-1.4.1]# make (se ignora erorile zend deprecated) [root@localhost saprfc-1.4.1]# make install
Daca comanda make se finalizeaza cu eroare:
compilation terminated. make: *** [saprfc.lo] Error 1
atunci se editeaza fisierul saprfc.c, la linia 47, si se modifica function_entry in zend_function_entry (detalii aici).
Daca eroarea se refera la lipsa fisierului rfcsi.h, atunci acest fisier trebuie copiat in /usr/src/rfcsdk/include. Fisierul se poate obtine dintr-o librarie rfcsdk mai veche (versiunea 6.40), care poate fi descarcata dupa instructiunile de la pasul 2.
La final, pentru adaugarea extensiei saprfc in php, se editeaza fisierul /etc/php.ini si se adauga linia:
extension=saprfc.so
dupa care se restarteaza serviciul httpd.
Pentru a testa daca instalarea a avut succes, se copiaza fisierul /usr/src/saprfc-1.4.1/saprfc_test.php in locatia /var/www/html (sau /var/www/vhosts/default – in cazul unui server administrat cu Plesk). Se acceseaza adresa http://sever-ip/saprfc_test.php, si daca se incarca formularul de autentificare inseamna ca libraria a fost instalata cu succes.
Toate fisierele utilizate pentru instalarea SAPRFC pot fi descarcate si de aici:
SAPCAR (windows)
SAPCAR (linux)
SAP RFC SDK Non-UNICODE
LIBRFC (librfc_715-10007252.sar)
Detalii: http://saprfc.sourceforge.net/
Oprire si mascare serviciu firewalld:
systemctl stop firewalld systemctl mask firewalld
Instalare pachet iptables-services:
yum install iptables-services
Activare serviciu iptables la pornirea sistemului:
systemctl enable iptables
Managementul serviciului:
systemctl [stop|start|restart] iptables
Salvarea regulilor de firewall:
service iptables save
Se considera tabela clienti, cu urmatoarea structura:
+-----------+-------------+ | client_id | client_name | +-----------+-------------+ | 1 | Lorand | | 2 | Mihai | +-----------+-------------+
Si tabela adrese_clienti, cu urmatoarea structura:
+------------+-----------+----------------+---------------------+---------------------+ | address_id | client_id | client_address | date_from | date_to | +------------+-----------+----------------+---------------------+---------------------+ | 1 | 1 | Adresa 1 | 2015-01-01 10:23:21 | 2015-01-17 11:24:31 | | 2 | 1 | Adresa 2 | 2015-01-17 11:24:31 | 2015-02-21 13:28:57 | | 3 | 1 | Adresa 3 | 2015-02-21 13:28:57 | 9999-01-01 00:00:00 | | 4 | 2 | Adresa 4 | 2015-01-01 13:12:53 | 2015-01-31 09:19:22 | | 5 | 2 | Adresa 5 | 2015-01-31 09:19:22 | 2015-02-11 08:23:19 | | 6 | 2 | Adresa 6 | 2015-02-11 08:23:19 | 9999-01-01 00:00:00 | +------------+-----------+----------------+---------------------+---------------------+
Pentru fiecare client se pastreaza istoricul modificarilor adreselor, in aceeasi tabela, fiecare inregistrare pastrand perioada de valabilitate in campurile date_from si date_to. Inregistrarea actuala pentru fiecare client este marcata de valoarea 9999-01-01 00:00:00 in campul date_to.
SELECT c.client_id, c.client_name, c2.client_address FROM clienti AS c INNER JOIN ( SELECT client_id, MIN(address_id) AS address_id FROM adrese_clienti GROUP BY client_id ) AS c1 ON (c1.client_id = c.client_id) INNER JOIN adrese_clienti AS c2 ON (c2.address_id = c1.address_id);
Rezultat:
+-----------+-------------+----------------+ | client_id | client_name | client_address | +-----------+-------------+----------------+ | 1 | Lorand | Adresa 1 | | 2 | Mihai | Adresa 4 | +-----------+-------------+----------------+
SELECT c.client_id, c.client_name, c2.client_address FROM clienti AS c INNER JOIN ( SELECT client_id, MAX(address_id) AS address_id FROM adrese_clienti GROUP BY client_id ) AS c1 ON (c1.client_id = c.client_id) INNER JOIN adrese_clienti AS c2 ON (c2.address_id = c1.address_id);
sau mai simplu (datorita campului date_to):
SELECT c.client_id, c.client_name, c1.client_address FROM clienti AS c INNER JOIN adrese_clienti AS ac ON (ac.client_id = c.client_id AND ac.date_to = '9999-01-01 00:00:00');
Rezultat:
+-----------+-------------+----------------+ | client_id | client_name | client_address | +-----------+-------------+----------------+ | 1 | Lorand | Adresa 3 | | 2 | Mihai | Adresa 6 | +-----------+-------------+----------------+
Windows 7 Home Premium 32Bit: http://msft.digitalrivercontent.net/win/X17-58996.iso
Windows 7 Home Premium 64Bit: http://msft.digitalrivercontent.net/win/X17-58997.iso
Windows 7 Professional 32Bit: http://msft.digitalrivercontent.net/win/X17-59183.iso
Windows 7 Professional 64Bit: http://msft.digitalrivercontent.net/win/X17-59186.iso
Windows 7 Ultimate 32Bit: http://msft.digitalrivercontent.net/win/X17-59463.iso
Windows 7 Ultimate 64Bit: http://msft.digitalrivercontent.net/win/X17-59465.iso
Pentru a verifica daca o anumita adresa IP sau domeniu este listat intr-o baza de date antispam se pot utiliza urmatoarele instrumente care ofera informatii din mai multe astfel de baze de date:
http://whatismyipaddress.com/blacklist-check
http://www.blacklistalert.org/
http://mail-blacklist-checker.online-domain-tools.com/
http://www.dnsbl.info/dnsbl-database-check.php
http://multirbl.valli.org/lookup
http://mailboxtools.com/tools/blc.aspx
http://mxtoolbox.com/blacklists.aspx
Un articol excelent despre imbunatatirea performantelor unui site de dimensiuni relativ mari. Un studiu de caz cu explicatii exhaustive pentru fiecare sectiune, cum au gandit si ce solutii au gasit pentru a obtine un scor de 99/100 de puncte la Google PageSpeed Insights.
http://www.smashingmagazine.com/2014/09/08/improving-smashing-magazine-performance-case-study/