Wednesday, June 29, 2016

MySQL - Error code 1140



Error Code: 1140. In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'dbname.a.column_name'; this is incompatible with sql_mode=only_full_group_by

In order to resolve this issue, we have to turn off ONLY_FULL_GROUP_BY sql_mode.

  1. Check sql_mode by issue this command:
    SELECT @@sql_mode;
  2. You'll see the output like below:
    ONLY_FULL_GROUP_BY
  3. Now turn off the ONLY_FULL_GROUP_BY by issuing this command:
    SET sql_mode = '';
Done!

Tuesday, June 28, 2016

Remove index.php from Codeigniter running on Nginx

  1. Edit your config.php file located at application/config/config.php Change value $config['uri_protocol'] = "AUTO"; to $config['uri_protocol'] = "REQUEST_URI";
  2. Put this line try_files $uri $uri/ /index.php?r=$request_uri; on nginx.conf file located at /etc/nginx/nginx.conf. The nginx.conf file should be like this: 
  3. location / {
           index  index.php;
           try_files $uri $uri/ /index.php?r=$request_uri;
    }
  4. Restart nginx service nginx restart
  5. Done!

Sunday, June 26, 2016

APACHE - Disable directory browsing


  • otoworkz
    • upload
      • images
      • sound

Let say we have a directory structure like above, and we want to block any direct access to the upload folder the child folder (images, sound). So how? follow these instruction:

  1. Create .htaccess file with the following content:
    Options -Indexes
  2. Put it under upload folder.
  3. Change file permission to 755:
    sudo chmod 755 .htaccess
  4.  Restart the Apache and done!

* if still not work, try to enable mod_rewrite module on Apache httpd.conf file.