Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!
Category: Uncategorized
Libérate de tus dependencias y sé exitoso
Libro de la semana: Dale Next! Vive una vida sin límites
A lo largo de la vida, los seres humanos se enfrentan a situaciones difíciles que los llevan a sentirse estancados tanto en el ámbito personal como profesional, sobre todo en la cultura latina donde es común desarrollar dependencias a los ambientes que nos rodean; particularmente en México, la gente no está feliz con sus condiciones actuales de existencia, no obstante la gente hace poco para modificarlas.
Ayudar a la detección de estas dependencias es el objetivo del libro Dale Next!, un texto de Mónica Venegas, en el cual muestra las herramientas necesarias para comenzar a moverse, para transformar las crisis en oportunidad, aquellas que permiten alcanzar el éxito laboral y la felicidad personal.
En una empresa, los trabajadores requieren tomar decisiones, acelerar los cambios, moverse más rápido, a fin de incrementar la productividad de la compañía; sin embargo, la autora explica que existen dos razones que propician que los empleados no actúen:
- La falta de habilidades: este punto es fácil de resolver pues con preparación y capacitación se adquieren los conocimientos necesarios para desarrollar eficientemente las tareas que tienen asignadas.
- Dependencias emocionales: esta característica genera un impedimento para el profesionista; querer cambiar sin atreverte es una característica inherente de esa dependencia al ambiente que el trabajador mismo construye. La productividad de la empresa no se incrementa.
Venegas establece cuatro dependencias emocionales que de manera recurrente se encuentran en la vida laboral de las personas:
- Control
- Confort
- Éxito
- Ego
“Éstas producen una muy agradable pero falsa sensación de satisfacción que nos atrapa, nos mantiene pendientes y nos impide actuar, incluso, antes de ver una próxima meta”, aseguró la escritora.
El estar atrapado en la zona de confort es algo por lo que la mayoría ha pasado. Se caracteriza por el dar justificaciones ilimitadas para no emprender un proyecto. El confort siempre va paralelo al miedo, “que no es más que la baja tolerancia a enfrentar un riesgo, es una justificación para no movernos” comentó Mónica.
Es fundamental saber que cuando se corre el riesgo de hacer algo diferente se está expuesto a no obtener los resultados esperados; sin embargo la clave consiste en no repetir el mismo proceso en nuevos proyectos. Lo importante es estar consciente del error y tomar un tiempo de reflexión antes de emprender nuevos procesos. “El fracaso no es la falta de éxito, el fracaso sería no intentarlo una vez más” aseguró Venegas.
Momento Next
Librarte de todas esas dependencias es sólo cuestión de decisión, ubicar la situación con la que no se está cómodo y que impide el desarrollo de tu felicidad personal, te permitirá tomar riesgos y acercarte cada vez más al éxito profesional. La ubicación de esta situación es lo que la autora llama momento next.
La autora del libro expone algunas características que debe tener cualquier profesional que desee lograr el éxito:
- Disposición de soltar. No apegarse a muchas cosas que se han vuelto necesarias sin que la gente se dé cuenta: voy a soltar lo que tenga que soltar.
- Aceptar que se va a enfrentar un riesgo. Estar consciente de ello, previniendo para que no se den sorpresas. No es apostar al azar, es tomar un riesgo calculado, es importante el resultado, estar consciente del cambio.
- Para un bien mayor, que incluya y beneficie a los que están a tu alrededor. No es posible hacer un cambio pensando únicamente en el bienestar personal. El egoísmo y la dependencia emocional deben eliminarse; el cambio, el beneficio debe alcanzar a todos los involucrados en la nueva decisión, en el nuevo cambio.
“No creo que nadie deba conformarse con menos de lo que merece, saber que no tiene caso venir a este mundo a sobrevivir, cuando se tienen todos los recursos para vivir”, finalizó la autora.
Sobre la autora
Reconocida columnista y colaboradora de medios con el tema de Independencia Emocional. Está dedicada a revolucionar la manera en que las personas tomamos decisiones y creamos nuestro futuro “un momento a la vez”.
Su aclamada sección Dale Netx! en TV Azteca, sus columnas en el periódico y sus secciones de radio, han provisto de herramientas de vanguardia a miles de personas.
Ficha técnica
Título: Dale Next!
Autora: Mónica Venegas
Editorial: Urano
Páginas: 207
Precio: $205
Zyanya López
Libro de la semana: Dale Next! Vive una vida sin límites
A lo largo de la vida, los seres humanos se enfrentan a situaciones difíciles que los llevan a sentirse estancados tanto en el ámbito personal como profesional, sobre todo en la cultura latina donde es común desarrollar dependencias a los ambientes que nos rodean; particularmente en México, la gente no está feliz con sus condiciones actuales de existencia, no obstante la gente hace poco para modificarlas.
Ayudar a la detección de estas dependencias es el objetivo del libro Dale Next!, un texto de Mónica Venegas, en el cual muestra las herramientas necesarias para comenzar a moverse, para transformar las crisis en oportunidad, aquellas que permiten alcanzar el éxito laboral y la felicidad personal.
En una empresa, los trabajadores requieren tomar decisiones, acelerar los cambios, moverse más rápido, a fin de incrementar la productividad de la compañía; sin embargo, la autora explica que existen dos razones que propician que los empleados no actúen:
- La falta de habilidades: este punto es fácil de resolver pues con preparación y capacitación se adquieren los conocimientos necesarios para desarrollar eficientemente las tareas que tienen asignadas.
- Dependencias emocionales: esta característica genera un impedimento para el profesionista; querer cambiar sin atreverte es una característica inherente de esa dependencia al ambiente que el trabajador mismo construye. La productividad de la empresa no se incrementa.
Venegas establece cuatro dependencias emocionales que de manera recurrente se encuentran en la vida laboral de las personas:
- Control
- Confort
- Éxito
- Ego
“Éstas producen una muy agradable pero falsa sensación de satisfacción que nos atrapa, nos mantiene pendientes y nos impide actuar, incluso, antes de ver una próxima meta”, aseguró la escritora.
El estar atrapado en la zona de confort es algo por lo que la mayoría ha pasado. Se caracteriza por el dar justificaciones ilimitadas para no emprender un proyecto. El confort siempre va paralelo al miedo, “que no es más que la baja tolerancia a enfrentar un riesgo, es una justificación para no movernos” comentó Mónica.
Es fundamental saber que cuando se corre el riesgo de hacer algo diferente se está expuesto a no obtener los resultados esperados; sin embargo la clave consiste en no repetir el mismo proceso en nuevos proyectos. Lo importante es estar consciente del error y tomar un tiempo de reflexión antes de emprender nuevos procesos. “El fracaso no es la falta de éxito, el fracaso sería no intentarlo una vez más” aseguró Venegas.
Momento Next
Librarte de todas esas dependencias es sólo cuestión de decisión, ubicar la situación con la que no se está cómodo y que impide el desarrollo de tu felicidad personal, te permitirá tomar riesgos y acercarte cada vez más al éxito profesional. La ubicación de esta situación es lo que la autora llama momento next.
La autora del libro expone algunas características que debe tener cualquier profesional que desee lograr el éxito:
- Disposición de soltar. No apegarse a muchas cosas que se han vuelto necesarias sin que la gente se dé cuenta: voy a soltar lo que tenga que soltar.
- Aceptar que se va a enfrentar un riesgo. Estar consciente de ello, previniendo para que no se den sorpresas. No es apostar al azar, es tomar un riesgo calculado, es importante el resultado, estar consciente del cambio.
- Para un bien mayor, que incluya y beneficie a los que están a tu alrededor. No es posible hacer un cambio pensando únicamente en el bienestar personal. El egoísmo y la dependencia emocional deben eliminarse; el cambio, el beneficio debe alcanzar a todos los involucrados en la nueva decisión, en el nuevo cambio.
“No creo que nadie deba conformarse con menos de lo que merece, saber que no tiene caso venir a este mundo a sobrevivir, cuando se tienen todos los recursos para vivir”, finalizó la autora.
Sobre la autora
Reconocida columnista y colaboradora de medios con el tema de Independencia Emocional. Está dedicada a revolucionar la manera en que las personas tomamos decisiones y creamos nuestro futuro “un momento a la vez”.
Su aclamada sección Dale Netx! en TV Azteca, sus columnas en el periódico y sus secciones de radio, han provisto de herramientas de vanguardia a miles de personas.
Ficha técnica
Título: Dale Next!
Autora: Mónica Venegas
Editorial: Urano
Páginas: 207
Precio: $205
Zyanya López
El abc para emitir recibos de honorarios
¿Usted trabaja por salarios pero le surgió un proyecto alterno? ¿Se integrará por primera vez al mercado laboral pero cobrará como profesional independiente? Entonces, usted debe expedir recibos de honorarios.
Unity launchers
Unity Launchers are actually files stored in your computer, with a ‘.desktop’ extension. In earlier Ubuntu versions, these files were simply used so as to launch a specific application, but in Unity they are also used so as to create right-click menus for each application, which you can access from the Unity Launcher. This article […]
Unity Launchers are actually files stored in your computer, with a ‘.desktop’ extension. In earlier Ubuntu versions, these files were simply used so as to launch a specific application, but in Unity they are also used so as to create right-click menus for each application, which you can access from the Unity Launcher.
This article describes how to create a working .desktop file for general use, but also how to add it to the Unity Launcher and/or how to edit a Unity Launcher itself, by editing its fields or by adding a right-click menu to it.
Creating a working .desktop file
There are currently 2 ways of creating a desktop file. The 1st one is using a text editor, like Gedit, and the 2nd one is installing a program (gnome-panel) or using ‘alacarte’ that both do the job for you. The former lets you “control” your launcher more than the latter, but the latter way is easier. Please note that this section will cover only the basics, not how to add shortcuts to your launcher. For this, please head to Adding shortcuts to a launcher.
Using a text editor
Open your favourite text editor, like Gedit or nano, and type in (copy and paste):
[Desktop Entry] Version=x.y Name=ProgramName Comment=This is my comment Exec=/home/alex/Documents/exec.sh Icon=/home/alex/Pictures/icon.png Terminal=false Type=Application Categories=Utility;Application;
These lines are enough for describing a simple launcher. Each launcher (.desktop file) consists of some basic fields.
- Version is the version of this .desktop file.
- Name is the name of the application, like ‘VLC media player’.
- Comment is a phrase or two describing what this program does, like ‘Plays your music and videos files’.
- Exec is the path to the executable file. The full path to the executable file must be used only in case it isn’t in any of the paths specified in the $PATH variable. For example, any files that are inside the path /usr/bin don’t need to have their full path specified in the Exec field, but only their filename. To see all the paths in the $PATH variable you can open a terminal using Ctrl+Alt+T and type in
echo $PATH
- Icon field is the icon that should be used by the launcher and represents the application. All icons that are under the directory /usr/share/pixmaps don’t need to have their full path specified, but their filename without the extension. For example, if the icon file is /usr/share/pixmaps/wallch.png, then the Icon field should be just ‘wallch’. All other icons should have their full path specified.
- Terminal field specifies whether the application should run in a terminal window or not.
- Type field specifies the type of the launcher file. The type can be Application, Link or Directory, but this article covers the ‘Application’ type.
- Categories field specifies the category of the application. It is used by the Dash so as to categorize the applications. A launcher being a ‘Utility;Application;’ should be under the ‘Accessories’ section etc.
A realistic example of how a .desktop file looks like is the following:
[Desktop Entry] Version=1.0 Name=BackMeUp Comment=Back up your data with one click Exec=/home/alex/Documents/backup.sh Icon=/home/alex/Pictures/backup.png Terminal=false Type=Application Categories=Utility;Application;
One last thing to add is that by setting executable rights to your .desktop file, it automatically takes the specified Icon and Name (specified in the corresponding fields), as it should be. Be careful though, the filename doesn’t really change, it still remains ‘launcher_name_here.desktop’ and not ‘Name_field_here’, the system chooses to display it like ‘Name_field_here’ because it’s nicer without the .desktop extension.
Adding a .desktop file to the Unity Launcher
In order to add your launcher to the Unity Launcher on the left, you have to place your .desktop file at /usr/share/applications/ or at ~/.local/share/applications/. After moving your file there, search for it in the Dash (Windows key -> type the name of the application) and drag and drop it to the Unity Launcher. Now your launcher (.desktop file) is locked on the Unity Launcher! If your desktop file cannot be found by doing a search from the Dash, you may need to read on…
To be more certain that your .desktop file will work properly, use the desktop file validator, which will notify you of any errors or omissions. If there are no errors, desktop-file-validator will exit silently.
Once the file validates correctly, install it to the default location (probably /usr/share/applications) using the desktop-file-install program. This step may require superuser privileges. The desktop-file-install program may add some lines of its own to your .desktop file. There is no need to have the .desktop file be executable by anyone.
Please note that desktop-file-validate tends to be oversensitive at times, which means that it can output error messages on perfectly working .desktop files. Those error messages should be better seen as warnings rather than anything else. For more information on desktop entry specification please refer to http://standards.freedesktop.org/desktop-entry-spec/latest/
Ubuntu lamp
XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl. XAMPP is really very easy to install and to use – just download, extract and start. This is to help people setup and install a LAMP (Linux-Apache-MySQL-PHP) server in Ubuntu, including Apache 2, PHP 5 and MySQL 4.1 or 5.0. To install […]
XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl. XAMPP is really very easy to install and to use – just download, extract and start.
This is to help people setup and install a LAMP (Linux-Apache-MySQL-PHP) server in Ubuntu, including Apache 2, PHP 5 and MySQL 4.1 or 5.0.
To install the default LAMP stack in Ubuntu 10.04 and above
First install tasksel…
$ sudo apt-get install tasksel
… and then the LAMP stack:
$ sudo tasksel install lamp-server
See Tasksel – be warned, only use tasksel to install tasks, not to remove them – see https://launchpad.net/bugs/574287
DO NOT UNCHECK ANY PACKAGES IN THE MENU WHICH APPEARS
You can leave your system in an unusable state.
Starting over: How to remove the LAMP stack
To remove the LAMP stack remove the following packages:
- Note: This assumes you have no other programs that require any of these packages. You might wish to simulate this removal first, and only remove the packages that don’t cause removal of something desired.
apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.5 mysql-common mysql-server mysql-server-5.5 php5-common php5-mysql
To also remove the debconf data, use the purge option when removing. To get rid of any configurations you may have made to apache, manually remove the /etc/apache2 directory once the packages have been removed.
You may also want to purge these packages:
mysql-client-core-5.5 mysql-server-core-5.5
Installing Apache 2
To only install the apache2 webserver, use any method to install:
apache2
It requires a restart for it to work:
$ sudo /etc/init.d/apache2 restart
or
$ sudo service apache2 restart
Checking Apache 2 installation
With your web browser, go to the URI http://localhost : if you read “It works!”, which is the content of the file /var/www/index.html , this proves Apache works.
Troubleshooting Apache
If you get this error:
apache2: Could not determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
then use a text editor such as “sudo nano” at the command line or “gksudo gedit” on the desktop to create a new file,
$ sudo nano /etc/apache2/conf.d/fqdn
or
$ gksu "gedit /etc/apache2/conf.d/fqdn"
then add
ServerName localhost
to the file and save. This can all be done in a single command with the following:
$ echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn
Virtual Hosts
Apache2 has the concept of sites, which are separate configuration files that Apache2 will read. These are available in /etc/apache2/sites-available. By default, there is one site available called default this is what you will see when you browse to http://localhost or http://127.0.0.1. You can have many different site configurations available, and activate only those that you need.
As an example, we want the default site to be /home/user/public_html/. To do this, we must create a new site and then enable it in Apache2.
To create a new site:
- Copy the default website as a starting point. sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite
- Edit the new configuration file in a text editor “sudo nano” on the command line or “gksudo gedit”, for example: gksudo gedit /etc/apache2/sites-available/mysite
- Change the DocumentRoot to point to the new location. For example, /home/user/public_html/
- Change the Directory directive, replace <Directory /var/www/> to <Directory /home/user/public_html/>
- You can also set separate logs for each site. To do this, change the ErrorLog and CustomLog directives. This is optional, but handy if you have many sites
- Save the file
Now, we must deactivate the old site, and activate our new one. Ubuntu provides two small utilities that take care of this: a2ensite (apache2enable site) and a2dissite (apache2disable site).
$ sudo a2dissite default && sudo a2ensite mysite
Finally, we restart Apache2:
$ sudo /etc/init.d/apache2 restart
If you have not created /home/user/public_html/, you will receive an warning message
To test the new site, create a file in /home/user/public_html/:
$ echo '<b>Hello! It is working!</b>' > /home/user/public_html/index.html
Finally, browse to http://localhost/
Installing PHP 5
To only install PHP5. use any method to install the package
libapache2-mod-php5
Enable this module by doing
$ sudo a2enmod php5
which creates a symbolic link /etc/apache2/mods-enabled/php5 pointing to /etc/apache2/mods-availble/php5 .
Except if you use deprecated PHP code beginning only by “<?” instead of “<?php” (which is highly inadvisable), open, as root, the file /etc/php5/apache2/php.ini , look for the line “short_open_tag = On”, change it to “short_open_tag = Off” (not including the quotation marks) and add a line of comment (beginning by a semi-colon) giving the reason, the author and the date of this change. This way, if you later want some XML or XHTML file to be served as PHP, the “<?xml” tag will be ignored by PHP instead of being seen as a PHP code mistake.
Relaunch Apache 2 again:
$ sudo service apache2 restart
Checking PHP 5 installation
In /var/www , create a text file called “test.php”, grant the world (or, at least, Ubuntu user “apache”) permission to read it, write in it the only line: “<?php phpinfo(); ?>” (without the quotation marks) then, with your web browser, go to the URI “http://localhost/test.php“: if you can see a description of PHP5 configuration, it proves PHP 5 works with Apache.
Troubleshooting PHP 5
Does your browser ask if you want to download the php file instead of displaying it? If Apache is not actually parsing the php after you restarted it, install libapache2-mod-php5. It is installed when you install the php5 package, but may have been removed inadvertently by packages which need to run a different version of php.
If sudo a2enmod php5 returns “$ This module does not exist!”, you should purge (not just remove) the libapache2-mod-php5 package and reinstall it.
Be sure to clear your browser’s cache before testing your site again. To do this in Firefox 4: Edit → Preferences … Privacy → History: clear your recent history → Details : choose “Everything” in “Time range to clean” and check only “cache”, then click on “Clear now”.
Remember that, for Apache to be called, the URI in your web browser must begin with “http://“. If it begins with “file://“, then the file is read directly by the browser, without Apache, so you get (X)HTML and CSS, but no PHP. If you didn’t configure any host alias or virtual host, then a local URI begins with “http://localhost“, “http://127.0.0.1” or http://” followed by your IP number.
If the problem persists, check your PHP file authorisations (it should be readable at least by Ubuntu user “apache”), and check if the PHP code is correct. For instance, copy your PHP file, replace your whole PHP file content by “<?php phpinfo(); ?>” (without the quotation marks): if you get the PHP test page in your web browser, then the problem is in your PHP code, not in Apache or PHP configuration nor in file permissions. If this doesn’t work, then it is a problem of file authorisation, Apache or PHP configuration, cache not emptied, or Apache not running or not restarted. Use the display of that test file in your web browser to see the list of files influencing PHP behaviour.
php.ini development vs. production
After standard installation, php configuration file /etc/php5/apache2/php.ini is set so as “production settings” which means, among others, that no error messages are displayed. So if you e.g. make a syntax error in your php source file, apache server would return HTTP 500 error instead of displaying the php syntax error debug message.
If you want to debug your scripts, it might be better to use the “development” settings. Both development and production settings ini’s are located in /usr/share/php5/
/usr/share/doc/php5-common/examples/php.ini-development
/usr/share/php5/php.ini-production
so you can compare them and see the exact differences.
To make the “development” settings active, just backup your original php.ini
sudo mv /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak
and create a symlink to your desired settings:
sudo cp -s /usr/share/doc/php5-common/examples/php.ini-development /etc/php5/apache2/php.ini
or you may of course also edit the /etc/php5/apache2/php.ini directly on your own, if you wish.
PHP in user directories
According to this blog, newer versions of Ubuntu do not have PHP enabled by default for user directories (your public_html folder). See the blog for instructions on how to change this back.
Installing MYSQL with PHP 5
Use any method to install
mysql-server libapache2-mod-auth-mysql php5-mysql
After installing PHP
You may need to increase the memory limit that PHP imposes on a script. Edit the /etc/php5/apache2/php.ini file and increase the memory_limit value.
After installing MySQL
Set mysql bind address
Before you can access the database from other computers in your network, you have to change its bind address. Note that this can be a security problem, because your database can be accessed by other computers than your own. Skip this step if the applications which require mysql are running on the same machine.
type:
$ sudo nano /etc/mysql/my.cnf
and change the line:
bind-address = localhost
to your own internal ip address e.g. 192.168.1.20
bind-address = 192.168.1.20
If your ip address is dynamic you can also comment out the bind-address line and it will default to your current ip.
If you try to connect without changing the bind-address you will recieve a “Can not connect to mysql error 10061″.
Set mysql root password
Before accessing the database by console you need to type:
$ mysql -u root
At the mysql console type:
$ mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
A successful mysql command will show:
Query OK, 0 rows affected (0.00 sec)
Mysql commands can span several lines. Do not forget to end your mysql command with a semicolon.
Note: If you have already set a password for the mysql root, you will need to use:
$ mysql -u root -p
(Did you forget the mysql-root password? See MysqlPasswordReset.)
Create a mysql database
$ mysql> CREATE DATABASE database1;
Create a mysql user
For creating a new user with all privileges (use only for troubleshooting), at mysql prompt type:
$ mysql> GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
For creating a new user with fewer privileges (should work for most web applications) which can only use the database named “database1″, at mysql prompt type:
$ mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON database1.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword';
yourusername and yourpassword can be anything you like. database1 is the name of the database the user gets access to. localhost is the location which gets access to your database. You can change it to ‘%’ (or to hostnames or ip addresses) to allow connections from every location (or only from specific locations) to the database. Note, that this can be a security problem and should only be used for testing purposes!
To exit the mysql prompt type:
$ mysql> q
Since the mysql root password is now set, if you need to use mysql again (as the mysql root), you will need to use:
$ mysql -u root -p
and then enter the password at the prompt.
Backup-Settings
Please, let’s say something in which directories mysql stores the database information and how to configure a backup
Alternatively
There is more than just one way to set the mysql root password and create a database. For example mysqladmin can be used:
$ mysqladmin -u root -p password yourpassword
and
$ mysqladmin -u root -p create database1
mysqladmin is a command-line tool provided by the default LAMP install.
Phpmyadmin and mysql-workbench
All mysql tasks including setting the root password and creating databases can be done via a graphical interface using phpmyadmin or mysql-workbench.
To install one or both of them, first enable the universe repository
Use any method to install
phpmyadmin
Troubleshooting Phpmyadmin & mysql-workbench
If you get blowfish_secret error: Choose and set a phrase for cryptography in the file /etc/phpmyadmin/blowfish_secret.inc.php and copy the line (not the php tags) into the file /etc/phpmyadmin/config.inc.php or you will receive an error.
If you get a 404 error upon visiting http://localhost/phpmyadmin: You will need to configure apache2.conf to work with Phpmyadmin.
$ gksudo gedit /etc/apache2/apache2.conf
Include the following line at the bottom of the file, save and quit.
$ Include /etc/phpmyadmin/apache.conf
Alternative: install phpMyAdmin from source
See the phpMyAdmin page for instructions on how to install phpmyadmin from source:
Mysql-workbench
Mysql-workbench runs locally, on the desktop. Use any method to install
mysql-workbench
For more information
2.9.3. Securing the Initial MySQL Accounts from the MySQL Reference Manual is worth reading.
Edit Apache Configuration
You may want your current user to be the PHP pages administrator. To do so, edit the Apache configuration file :
$ gksudo "gedit /etc/apache2/envvars"
Search both the strings starting by “APACHE_RUN_USER” and “APACHE_RUN_GROUP”, and change the names to the current username and groupname you are using. Then you’ll need to restart Apache. (look at the next chapter concerning apache commands)
Configuration options relating specifically to user websites (accessed through localhost/~username) are in /etc/apache2/mods-enabled/userdir.conf.
Installing suPHP
suPHP is a tool for executing PHP scripts with the permissions of their owners. It consists of an Apache module (mod_suphp) and a setuid root binary (suphp) that is called by the Apache module to change the uid of the process executing the PHP interpreter.
Note: suPHP enforces, security and helps avoid file permission problems under development environments with several users editing the site files, but it also demands more memory and CPU usage, which can degrade your server performance under certain circumstances.
To only install suPHP. use any method to install the package
libapache2-mod-suphp
Enable this module by doing
sudo a2enmod suphp
then use a text editor such as “sudo nano” at the command line or “gksudo gedit” on the desktop to edit this file
sudo nano /etc/apache2/mods-available/php5.conf
or
gksu "gedit /etc/apache2/mods-available/php5.conf"
make a new empty line at the top of the content, then add
<Directory /usr/share>
make a new empty line at the bottom of the content, then add
</Directory>
save changes
For security reasons we need to specify to suPHP what are the document paths allowed to execute scripts, use a text editor such as “sudo nano” at the command line or “gksudo gedit” on the desktop to edit this file
sudo nano /etc/suphp/suphp.conf
or
gksu "gedit /etc/suphp/suphp.conf
find the value “docroot” and specify the document path of your site files, for example:
docroot=/var/www/
that value restrict script execution only to files inside “/var/www/”
docroot=/var/www/:${HOME}/public_html
that value restrict script execution only to files inside a custom home folder for each configured user inside “/var/www/:${HOME}/public_html”
for this tutorial we are going to use this value
docroot=/home/user/public_html/
which is the same Apache directory directive set before in this document
save changes
to restart Apache, type in your terminal
sudo /etc/init.d/apache2 restart
Now lets create a test script to see if suPHP is working correctly, in your terminal type
echo "<?php echo 'whoim = '.exec('/usr/bin/whoami');?>" | tee /home/user/public_html/whomi.php
that command creates a quick php test file to display the current user executing the script
open your browser and navigate to “localhost/whomi.php”, most likely the browser will show you a “500″ server error, this is because suPHP does not allow too permissive file and folder permissions and also does not allow mixed file and folder ownership, to correct this type in your terminal
sudo find /home/user/public_html/ -type f -exec chmod 644 {} ; sudo find /home/user/public_html/ -type d -exec chmod 755 {} ; sudo chown user:group -R /home/user/public_html/
those commands enforce a secure and correct file and folder permission and also set a correct user and group ownership for all of them
Now open your browser and navigate to “localhost/whomi.php”, if everything went fine you should see the name of the file owner executing the script and not “www-data” unless you specified so
Run, Stop, Test, And Restart Apache
Use the following command to run Apache :
$ sudo /usr/sbin/apache2ctl start
To stop it, use :
$ sudo /usr/sbin/apache2ctl stop
To test configuration changes, use :
$ sudo /usr/sbin/apache2ctl configtest
Finally, to restart it, run :
$ sudo /usr/sbin/apache2ctl restart
Alternatively, you can use a graphical interface by installing Rapache or the simpler localhost-indicator.
Using Apache
You can access apache by typing 127.0.0.1 or http://localhost (by default it will be listening on port 80) in your browser address bar. By default the directory for apache server pages is /var/www . It needs root access in order to put files in. A way to do it is just starting the file browser as root in a terminal:
$ gksudo nautilus
or
if you want to make /var/www your own. (Use only for non-production web servers – this is not the most secure way to do things.)
$ sudo chown -R $USER:$USER /var/www
Status
To check the status of your PHP installation:
$ gksudo "gedit /var/www/testphp.php"
and insert the following line
<?php phpinfo(); ?>
View this page on a web browser at http://yourserveripaddress/testphp.php or http://localhost/testphp.php
Securing Apache
If you just want to run your Apache install as a development server and want to prevent it from listening for incoming connection attempts, this is easy to do.
$ gksudo "gedit /etc/apache2/ports.conf" $ password:
Change ports.conf so that it contains:
Listen 127.0.0.1:80
Save this file, and restart Apache (see above). Now Apache will serve only to your home domain, http://127.0.0.1 or http://localhost.
Password-Protect a Directory
There are 2 ways to password-protect a specific directory. The recommended way involves editing /etc/apache2/apache2.conf . (To do this, you need root access). The other way involves editing a .htaccess file in the directory to be protected. (To do this, you need access to that directory).
Password-Protect a Directory With .htaccess
See EnablingUseOfApacheHtaccessFiles
Warning: On at least some versions of Ubuntu, .htaccess files will not work by default. See EnablingUseOfApacheHtaccessFiles for help on enabling them.
thumbnails
If you direct your web browser to a directory (rather than a specific file), and there is no “index.html” file in that directory, Apache will generate an index file on-the-fly listing all the files and folders in that directory. Each folder has a little icon of a folder next to it.
To put a thumbnail of that specific image (rather than the generic “image icon”) next to each image file (.jpg, .png, etc.):
… todo: add instructions on how to do thumbnails here, perhaps using Apache::AutoIndex 0.08 or Apache::Album 0.95 …
Known problems
Skype incompatibility
Skype uses port 80 for incoming calls, and thus, may block Apache. The solution is to change the port in one of the applications. Usually, port 81 is free and works fine. To change the port number in Skype go to menu Tools > Options, then click on the Advanced tab, then in the box of the port for incoming calls write your preference.
Other Apache Options
- ServerSideIncludes – enable SSI in Apache2
- LocalhostSubdomain – access your local files as if you had different subdomains
Further Information
- StrongPasswords is recommended reading!
- BastilleLinux is also recommended if you’re going to be running a live webserver.
- You can compile PHP5FromSource, as well as MYSQL5FromSource.
- PHPOracle will enable you to connect to Oracle databases.
- PhpPear : PHP Extension and Application Repository
Quick Response Code
QR code (abbreviated from Quick Response Code) is the trademark for a type of matrix barcode (or two-dimensional barcode) first designed for the automotive industry in Japan; a barcode is an optically machine-readable label that is attached to an item and that records information related to that item: The information encoded by a QR code […]
QR code (abbreviated from Quick Response Code) is the trademark for a type of matrix barcode (or two-dimensional barcode) first designed for the automotive industry in Japan; a barcode is an optically machine-readable label that is attached to an item and that records information related to that item: The information encoded by a QR code may be made up of four standardized types (“modes”) of data (numeric, alphanumeric, byte / binary, Kanji) or, through supported extensions, virtually any type of data.[1]
The QR Code system has become popular outside the automotive industry due to its fast readability and greater storage capacity compared to standard UPC barcodes. Applications include product tracking, item identification, time tracking, document management, general marketing, and much more.[2]
A QR code consists of black modules (square dots) arranged in a square grid on a white background, which can be read by an imaging device (such as a camera) and processed using Reed-Solomon error correction until the image can be appropriately interpreted; data is then extracted from patterns present in both horizontal and vertical components of the image.[2]
PHP QR Code is open source (LGPL) library for generating QR Code, 2-dimensional barcode. Based on libqrencode C library, provides API for creating QR Code barcode images (PNG, JPEG thanks to GD2). Implemented purely in PHP, with no external dependencies (except GD2 if needed).
Some of library features includes:
- Supports QR Code versions (size) 1-40
- Numeric, Alphanumeric, 8-bit and Kanji encoding. (Kanji encoding was not fully tested, if you are japan-encoding enabled you can contribute by verifing it )
- Implemented purely in PHP, no external dependencies except GD2
- Exports to PNG, JPEG images, also exports as bit-table
- TCPDF 2-D barcode API integration
- Easy to configure
- Data cache for calculation speed-up
- Provided merge tool helps deploy library as a one big dependency-less file, simple to “include and do not wory”
- Debug data dump, error logging, time benchmarking
- API documentation
- Detailed examples
- 100% Open Source, LGPL Licensed
stop a process under Ubuntu
How do I stop a process under Ubuntu Linux using command line and GUI tools? You can use the following tools to stop a process under Ubuntu Linux: System Monitor application – A gui tools displays current active processes. it also provides detailed information about individual processes, and enables you to control active processes i.e. […]
How do I stop a process under Ubuntu Linux using command line and GUI tools?
You can use the following tools to stop a process under Ubuntu Linux:
- System Monitor application – A gui tools displays current active processes. it also provides detailed information about individual processes, and enables you to control active processes i.e. kill or end process.
- kill command – Send signal to a process such as kill or end a process.
- pkill command – Find processes or processes based on name and send end or kill singles to processes.
- killall command – Kill processes (including all its children) by name.
Gnome: System Monitor Application To Kill a Process
To start System Monitor GUI, click on System menu > Select Administration > System Monitor. Alternatively, open a command-line terminal (select Applications > Accessories > Terminal), and then type:
$ gnome-system-monitor
Click on Processes Tab:
Fig.01: A list of process and end Process button
How Do I End a Process?
- First select the process that you want to end.
- Click on the End Process button. You will get a confirmation alert. Click on “End Process” button to confirm that you want to kill the process.
- This is the simplest way way to stop (end) a process.
kill Command Line Option
You can use the kill command to send a signal to each process specified by a process identifier (PID). The default signal is SIGTERM (15). See the list of common UNIX / Linux signal names and numbers for more information. In this example, ps command is used to find out all running processes in the system:
$ ps aux | grep firefox
To end a process, enter:
$ kill -s 15 PID-HERE
$ kill -s 15 2358
OR send signal 9 (SIGKILL) which is used for forced termination to PID # 3553:
$ kill -9 PID-HERE
$ kill -9 3553
See our previous FAQ “how to kill a process in Linux” for more information.
pkill Command Line Option
The pkill command allows you to kill process by its name, user name, group name, terminal, UID, EUID, and GID. In this example, kill firefox process using pkill command for user vivek as follows:
$ pkill -9 -u vivek firefox
killall Command Line Option
The killall command sends a signal to all processes. To terminate all httpd process (child and parent), enter:
$ sudo killall -9 httpd
OR
$ sudo killall -9 apache2
See sending signal to Processes wiki article for more information.
General packet radio service (GPRS)
GPRS (General Packet Radio Service) is a very widely-deployed wireless data service, available now with most GSM networks. GPRS offers throughput rates of up to 40 kbps, enabling mobile handsets to access online services at a similar speed to a dial-up modem, but with the convenience of being able to connect from almost anywhere. GPRS […]
GPRS (General Packet Radio Service) is a very widely-deployed wireless data service, available now with most GSM networks.
GPRS offers throughput rates of up to 40 kbps, enabling mobile handsets to access online services at a similar speed to a dial-up modem, but with the convenience of being able to connect from almost anywhere.
GPRS enables people to enjoy advanced, feature-rich data services, such as e-mail on the move, multimedia messages, social networking and location-based services.
General packet radio service (GPRS) is a packet oriented mobile data service on the 2G and 3G cellular communication system’s global system for mobile communications (GSM). GPRS was originally standardized by European Telecommunications Standards Institute (ETSI) in response to the earlier CDPD and i-mode packet-switched cellular technologies. It is now maintained by the 3rd Generation Partnership Project (3GPP).[1][2]
GPRS usage is typically charged based on volume of data transferred, contrasting with circuit switched data, which is usually billed per minute of connection time. 5 GB per month for a fixed fee or on a pay-as-you-use basis. Usage above the bundle cap is either charged per megabyte or disallowed.
GPRS is a best-effort service, implying variable throughput and latency that depend on the number of other users sharing the service concurrently, as opposed to circuit switching, where a certain quality of service (QoS) is guaranteed during the connection. In 2G systems, GPRS provides data rates of 56–114 kbit/second.[3] 2G cellular technology combined with GPRS is sometimes described as 2.5G, that is, a technology between the second (2G) and third (3G) generations of mobile telephony.[4] It provides moderate-speed data transfer, by using unused time division multiple access (TDMA) channels in, for example, the GSM system. GPRS is integrated into GSM Release 97 and newer releases.
Google Nexus
Google Nexus is a line of mobile devices using the Android operating system produced by Google in conjunction with an original equipment manufacturer (OEM) partner. Devices in the Nexus series[1] do not have manufacturer or wireless carrier modifications to Android (such as custom graphical user interfaces), and have an unlockable bootloader[2] to allow further development […]
Google Nexus is a line of mobile devices using the Android operating system produced by Google in conjunction with an original equipment manufacturer (OEM) partner. Devices in the Nexus series[1] do not have manufacturer or wireless carrier modifications to Android (such as custom graphical user interfaces), and have an unlockable bootloader[2] to allow further development and end-user modification.[3] Nexus devices are the first Android devices to receive updates to the operating system.[4][5][6] The Galaxy Nexus is one of the few smartphones recommended by the Android Open Source Project for Android software development.[7] As of November 2012[update], the latest devices in the series are the Nexus 4 phone by Google and LG, and the Nexus 7 and Nexus 10 tablet computers by Google with Asus and Samsung respectively.
ClockWorkMod
ROM Manager is a Android front end to the Clockwork Recovery image.
http://www.clockworkmod.com/rommanager
http://www.clockworkmod.com/
ROM Manager is a Android front end to the Clockwork Recovery image.
http://www.clockworkmod.com/rommanager
http://www.clockworkmod.com/