Mengubah suai Response Header Menggunakan Varnish 4
sub vcl_deliver { set resp.http.Server = "Nusantara"; set resp.http.X-Powered-By = "WallahuA'lam"; }

seen from Malaysia

seen from United States
seen from Japan
seen from United States

seen from Australia
seen from China
seen from United Kingdom
seen from United States
seen from Azerbaijan

seen from Malaysia
seen from China

seen from United Kingdom
seen from Japan

seen from T1

seen from United States
seen from Netherlands
seen from United Kingdom
seen from United States
seen from Australia
seen from China
Mengubah suai Response Header Menggunakan Varnish 4
sub vcl_deliver { set resp.http.Server = "Nusantara"; set resp.http.X-Powered-By = "WallahuA'lam"; }

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Langkah mudah pasang Varnish 4.0.1 pada Apache 2.4.6
Dulu jarang diperhatikan soal pengurusan server kerana kita di Malaysia lebih senang dengan khidmat Shared Hosting yang ditawarkan. Khidmat ini sangat terbatas dari aspek penyesuaian dan penyelarasan untuk sesebuah aplikasi yang dibangun. Sedang saya membangun sebuah aplikasi thick client yakni sebuah aplikasi laman tunggal, saya memikirkan untuk mempercepatkan respon dari server bagi segala fail-fail statik seperti jpg, gif, css, js dan sebagainya. Berikut adalah langkah-langkah mudah untuk memasang Varnish pada sebuah VPS server (CentOs 7 yang telah dilengkapi LAMP) yang saya langgan dari ZenPipe (M).
Langkah pertama: Tambah dan kemaskini Repositori EPEL
Varnish adalah sebahagian dari Extra Packages for Enterprise Linux (EPEL), dimana ia adalah sebuah repositori komuniti bagi pakej non-standard untuk penyebaran RHEL.
rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Langkah 2: Pasang Varnish Cache Server
Mula-mula pastikan pakej-pakej yang tertera adalah yang terkini sebelum pasang Varnish
yum -y update
Usai kemaskini pakej, proses memasang Varnish adalah mudah dengan sebaris arahan sahaja:
yum -y install varnish
Langkah 3: Gubah baris arahan VARNISH_LISTEN_PORT=6081 kepada 80
Dengan menggunakan nano, sebuah editor teks, anda boleh menggunakannya untuk mengubah pada lokasi tertentu seperti ini
nano /etc/varnish/varnish.params
ubah kepada
VARNISH_LISTEN_PORT=80
Langkah 4: Tetapkan tetapan umum Varnish
seperti biasa, dengan menggunakan nano
nano /etc/varnish/default.vcl
beri perhatian pada baris seperti dibawah dan ikut seperti yang tertera
backend default { .host = "127.0.0.1"; .port = "8080"; }
Langkah 5: Sunting fail Apache httpd.conf untuk menjadikan Apache hanya listen pada port 8080
nano /etc/httpd/conf/httpd.conf
kenal pasti baris di bawah dan ikut seperti yang tertera
Listen 127.0.0.1:8080
Langkah 6: Gubah iptables untuk mengizinkan sambungan pada port 80
nano /etc/sysconfig/iptables
Kenalpasti kedudukan baris ini
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
Tambah kod ini betul-betul selepas kod diatas
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Save fail tersebut dan restart iptables
sudo systemctl restart iptables
Untuk memastikan segala sintaks httpd.conf adalah baik, taipkan arahan berikut
httpd -t
systemctl restart httpd
Langkah 7: Laksanakan Varnish
sudo systemctl start varnish
Tips: laksana Varnish semasa anda reboot
systemctl enable varnish
Pesanan orang-orang tua (petua): Sebelum anda restart Varnish, adalah suatu amalan yang baik sekiranya anda melakukan sedikit pengujian terhadap segala tetapan Varnish anda. Ini bagi membantu anda mengesan awal sebarang ralat pada fail tetapan umum Varnish:
varnishd -C -f /etc/varnish/default.vcl
Langkah 8: Uji Varnish
varnishd -V
pergi ke website Is Varnish Working dan masukkan URL website anda
Tentu saja anda menggunakan berbagai pelayar seperti chrome, firefox atau IE sekalipun. Gunakan console debugger untuk periksa header bagi setiap request.
Tidak dapat dinafikan kepantasan respon bagi aplikasi halaman tunggal saya teramat pantas tetapi bukan mudah juga bagi saya untuk mencari ralat kerana saya hanya bekerja membaiki fail-fail javascript yang mana ia adalah fail statik yang semestinya dicache oleh Varnish. Apapun harap langkah-langkah diatas dapat membantu saudara-saudari sekalian dalam mengharungi dunia perkembangan teknologi web.
Implementando un Server Colaborativo. Parte 1
Voy a hacer esta serie de artículos sobre cómo se implementa un servidor de trabajo colaborativo bajo Ubuntu. La idea principal es que, dado que tuve que investigar muuuucho para poder configurar todo bien, y que en el futuro no creo que lo haga más, ya que quiero dedicarme a otros aspectos de la aventura de hacer una empresa, voy a documentar lo más posible todo el proceso para que otros lo puedan replicar, o yo mismo si llega a ser necesario :).
Voy a utilizar un servidor en www.digitalocean.com, y partiendo desde una instalación de Ubuntu fresca indicaré los pasos a seguir para obtener un server con las siguientes características:
Cuentas de SSH con acceso solo a las carpetas de ciertos proyectos.
Acceso desde internet montando discos con WebDrive o Transmit
Auto respaldo de proyectos
Sistema de versionamiento de los entregables.
Luego terminaré con otra serie de artículos, estos dedicados en vez a plantear el modelo de negocios de la empresa que es objeto de este trabajo, el modelo de gestión y cómo hemos conseguido cumplir los objetivos planteados en el plan de negocios. En fin, a la primera parte:
1. Instalación de Ubuntu en un Server en la Nube
Este paso lo voy a dar por descontado, pues hay millones de servicios en la nube, entre ellos Amazon AWS, DigitalOcean, que proveen maquinas virtuales o servidores con SO Linux Ubuntu instalados y funcionando. Yo en este caso elegí Digital Ocean
2. Instalación de un stack LAMP en el servidor
Acá ya se debe elegir con un poco más de cuidado. Una buena alternativa es instalar el stack LAMP oficial de ubuntu, otra puede ser usar proveedores como BitNami. En mi caso opté por una solución aún más simple, usar el stack LAMP provisto por Apache Friends, siguiendo los pasos de instalación de este link.
Configuración de seguridad básica
Luego de descargar y ejecutar el archivo del tutorial, ejecutamos ...
/opt/lampp/lampp security
... para configurar las opciones de seguridad del stack. Es importante setear la password de root de mysql, la password de pma para phpmyadmin (en mi caso usé la misma). Después habilitamos el acceso externo editando el archivo /opt/lampp/etc/httpd-xampp.conf, poniendo un # al principio de la ultima linea en la sección que indica:
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))"> Order deny,allow Deny from all
... y así desbloqueamos el acceso desde la web a las páginas de XAMPP.
Usuario ejecutor de Apache
En seguida nos queda definir el usuario con el cual el servidor apache se ejecutará. Este es uno de los pasos importantes, porque lo que hagamos acá determina cómo se comportará nuestro servidor luego, pues el usuario que ejecuta el servidor web será el puente mediante el cual los usuarios del servidor utilizarán las funciones de colaboración. Utilizamos los comandos adduser y addgroup para crear el usuario
addgroup savant-users adduser --no-create-home www-data savant-users
Luego editamos el archivo httpd.conf ubicado en /opt/lampp/etc en la sección que se indica para que se vea como sigue:
# User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User www-data Group savant-users
Luego reiniciamos el servidor LAMP con...
/opt/lampp/lampp restart
3. Configuración de LAMP como Servicio en Ubuntu.
Para que el servicio LAMP se inicie cada vez que reiniciemos nuestro server, deberemos crear un archivo nuevo en la carpeta /etc/init, llamado en este caso lamp.conf, con el siguiente contenido:
#LAMPP Server description "LAMPP Apache Friends" start on filesystem or runlevel [2345] stop on runlevel [!2345] pre-start script end script post-start script end script # command exec /opt/lampp/lampp start
Es importante que este archivo quede guardado bajo la propiedad del usuario root y con permisos de acceso 644.
Acá termina esta parte del tutorial, para el proximo post, no perderse:
Permisos especiales para el usuario ejecutor del Web Server
Captura de Usuarios entrantes en un CHROOT
how to install yum on Red Hat Enterprise Linux 4
This case applies to most Red Hat Enterprise Linux 4, from i386 to i686 machines, i've successfully used it on our Red Hat Enterprise Linux ES release 4 (Nahant Update 6): To use it for other systems / architectures, check the packages given at (check).
1. Get the main packages
(check) http://dag.wieers.com/rpm/packages/yum/
$wget http://dag.wieers.com/rpm/packages/yum/yum-2.4.2-0.4.el4.rf.noarch.rpm
(check) http://rpmfind.net/linux/rpm2html/ search.php?query=libsqlite.so.0&submit=Search+...&system=&arch=
$wget ftp://fr2.rpmfind.net/linux/PLD/dists/ac/ready/i386/libsqlite-2.8.15-1.i386.rpm
(check) http://rpmfind.net/linux/rpm2html/ search.php?query=python-elementtree&submit=Search+...&system=&arch=
$wget ftp://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/python-elementtree-1.2.6-7.el4.rf.i386.rpm
(check) http://rpmfind.net/linux/rpm2html/ search.php?query=python-sqlite&submit=Search+...&system=&arch=
$wget ftp://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/python-sqlite-0.5.0-1.2.el4.rf.i386.rpm
(check) http://rpmfind.net/linux/rpm2html/ search.php?query=urlgrabber&submit=Search+...&system=&arch=
$wget ftp://rpmfind.net/linux/dag/redhat/el4/en/x86_64/dag/RPMS/python-urlgrabber-2.9.7-1.2.el4.rf.noarch.rpm
2. Install Rpm's
$rpm -ivh libsqlite-2.8.15-1.i386.rpm $rpm -ivh python-elementtree-1.2.6-7.el4.rf.i386.rpm $rpm -ivh python-sqlite-0.5.0-1.2.el4.rf.i386.rpm $rpm -ivh python-urlgrabber-2.9.7-1.2.el4.rf.noarch.rpm $rpm -ivh yum-2.4.2-0.4.el4.rf.noarch.rpm
3. Setup the Repository (check) http://dag.wieers.com/rpm/packages/rpmforge-release/
$wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm $rpm -ivh rpmforge-release-0.3.6-1.el4.rf.i386.rpm
4. Yum update all packages
$yum update
how to check linux distro on a command line
For what i know, there is no standard way to know for sure... but each Distro have their own version file you can cat somewhere. Try these:
- "$cat /etc/redhat-release" will show you information for red hat based distros.
- "$cat /etc/SuSE-release" for SUSE based distros.
- "$cat /etc/mandrake-release" for mandrake distros.
- "$cat /etc/debian_version" for debian based distros.
- "$cat /etc/UnitedLinux-release" might also return some more information.
I also found this useful tip at linuxhelp.net: You *might* get some clues by running "uname -r" which will show you kernel version - Some ditributors will rename the kernel to make it specific to their distro (eg, RHEL kernels have RHEL in their name)
Note: "$cat /etc/debian_version" won't return the distro itself, but the version of the distro.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
How to check Linux version from command line
To check your linux version from command line:
$cat /proc/version
MySQL 5 Storage Engines: MyISAM, MRG_MyISAM and InnoDB
I've been around choosing the appropriate Storage Engine for a new project, and so i'm posting some tips on Storage Engines for MySQL 5.
Storage engines differ essencially in how they organize the data, indexes, caching, etc. The pratical results are different possibilities in data organization and restrictions (foreign keys, constraints, triggers (on delete, on update), etc) as well as different performance capabilities.
Technical Differences:
MyISAM is designed to be a simple and effective storage engine, ideal for small websites, blogs, etc. Doesn't require much technical knowledge and get's the work done. It also features full-text index, allowing you to take advantage of the very useful "MATCH col AGAINT('needle')" text search clause.
MRG_MyISAM is treated as MyISAM but can be "shared" among different databases - very useful for main tables in multiple-database applications, as long as your working on the same MySQL server.
InnoDB is designed to be more of a storage engine for applications. It features foreign keys, triggers, etc - essential for multi-million rows and organizational data.
Performance:
A few years back MyISAM would kick ass on SELECT clauses, whereas InnoDB was usually better for heavy INSERT / UPDATE and DELETE clauses. These days InnoDB can be even faster than MyISAM for SELECT clauses.
Though MyISAM can be much faster for a simple "SELECT count(*) from table" query as it caches the amount of rows on a table, they work more or less the same when you use the "where some_col='some_val'" clause. On the other hand text searching on full-text index kicks ass over any "LIKE '%needle%' " clause.
MRG_MyISAM is pretty much like MyISAM, though it can usually get a little bit slower due to multiple database usage and locking.
All in all InnoDB has come a long way these past few years, and has become my first choice for applications, though i still use separate MyISAM tables for full-text searching on text fields.