Sunday, September 24, 2017

Laravel: Basic Artisan Console Commands

To view a list of all available Artisan commands, you may use the list command:
$ php artisan list


Displaying Your Current Laravel Version
$ php artisan --version 

To view a help screen, simply precede the name of the command with help:
$ php artisan help migrate

To enter the Tinker environment, run the tinker Artisan command. Tinker allows you to interact with your entire Laravel application on the command line, including the Eloquent ORM, jobs, events, and more.
$ php artisan tinker 

To migrate the database tables.
 $ php artisan migrate

To create model, migration, controller, Eloquent with single command.
 $ php artisan make:model name -mc

To create  controller with all functions like index, create, show, edit, destory and update.
 $ php artisan make:controller name -r

Friday, August 18, 2017

Install Laravel Framework on Ubuntu

Step 1 – Install LAMP

You will need to make sure your LAMP meets the following requirements:
  • PHP >= 5.6.4
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install -y php5.6 php5.6-mcrypt php5.6-gd
$ sudo apt-get install apache2 libapache2-mod-php5
$ sudo apt-get install mysql-server php5.6-mysql

Step 2 – Install Composer

Install Composer which is a tool for dependency management in PHP.

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
$ sudo chmod +x /usr/local/bin/composer

Step 3 – Install Laravel

Now create a directory where Laravel will be downloaded.
$ mkdir /var/www/html/your_website

Now enter the newly created directory and download the latest Laravel version.
$ cd /var/www/html/your_website
$ git clone https://github.com/laravel/laravel.git

Start the Laravel installation using Composer:
$ composer install

Dependencies installation will take some time. After than set proper permissions on files.
$ chown -R www-data.www-data /var/www/laravel
$ chmod -R 777 /var/www/laravel/storage

Step 4 – Set Encryption Key

# php artisan key:generate
You will notice the below error when running the command.

[ErrorException]
  file_get_contents(/var/www/html/your_website/.env): failed to open stream: No such file or directory

To solve this you should rename the .env.example file into .env:
$ mv .env.example  .env

Generate the encryption key again:
# php artisan key:generate

You should get the following output:
Application key [base64:ULQsledeS17HxCAsssA/06qN+aQGbXBPPpXVeZvdRWE=] set successfully.

Now edit the app.php file and configure the encryption key. Open the file with your favorite text editor. 

# vim config/app.php

Locate the ‘key’ => env(‘APP_KEY’ line and add the key next to it. After you are done the directive should look like this:


'key' => env('APP_KEY', 'base64:7fGASOGOSASA%^AYUFSA9TxZu8M2NwBWVEQsjPGRiasbdasYITIUG$%^$CSSA='),

    'cipher' => 'AES-256-CBC',

Save and close the file.

Now open your favorite web browser and navigate to  http://localhost/your_website  where you will be welcomed by a page as shown in the image below:
Laravel First Page

Sunday, July 2, 2017

Laravel as a beginner

Love beautiful code? The PHP Framework For Web Artisans

For beginner : Laravel 5.4 From Scratch Click Here
Each year, the Laracasts "Laravel From Scratch" series is refreshed to reflect the latest iteration of the framework. This is the 2017 edition, which uses version 5.4 of the framework.
Are you hoping to level up your toolset? You've come to the right place. This series will take you from installing Laravel, all the way up to mastering the essentials of the framework.

Monday, June 19, 2017

Best method get disk usage from command line

First Method 
$ df -lh
Filesystem      Size      Used  Avail Use% Mounted on
/dev/sda2       518G    39G   453G   8%      /
udev              16G      4.0K   16G   1%      /dev
tmpfs             3.2G    236K  3.2G   1%      /run
none              5.0M     0        5.0M  0%     /run/lock
none              16G      0        16G    0%     /run/shm
/dev/sda1        93M   4.3M   89M   5%     /boot/efi

Second method: For detail disk usage 
Works well from the command line. It's ncurses-based and interactive.
$ncdu /

Wednesday, June 14, 2017

How can I downgrade / Upgrade from PHP 7.0 to PHP 5.6 / PHP 5.6 to PHP 7.0 / PHP 8 on Ubuntu

Ubuntu 16.04 comes with php7.0, and some php web applications might fail to run  with php7.0. So, you test your web app with both php7.0 and php5.0  version. 

You can do following changes with Ubuntu sudo update-alternatives --config php
 
sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update

root@pc1# apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0 php5.6-curl php5.6-gd php5.6-mcrypt php5.6-xml php5.6-xmlrpc

sudo apt-get install php8.1 php8.1-fpm
sudo apt-get install php8.1-mysql php8.1-mbstring php8.1-xml php8.1-gd php8.1-curl
sudo apt-get install php7.4 php7.4-fpm
sudo apt-get install php7.4-mysql php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl


Installing both php5.6 & php7.0 & php8.0 was clean in my case: no complain of issues, etc.

To switch from php7.0 to php5.6 or other:

# For php in web apps
sudo a2dismod php7.0 && sudo a2enmod php5.6 && sudo service apache2 restart
OR sudo update-alternatives --config php
# For php-cli in the command line
sudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php
or from  php5.6 to php7:
# For php in web apps
sudo a2dismod php5.6 && sudo a2enmod php7.0 && sudo service apache2 restart
# For php-cli in the command line
sudo ln -sfn /usr/bin/php7.0 /etc/alternatives/php
Now Check php version : root@pc1# php --version or php -v
Remove : sudo apt-get remove php5.6-* 

Sunday, June 11, 2017

Problems faced during migration php/mysql code Windows to Linux

1.  Slashes in file names when migrating PHP project to Windows server from Linux server.
Solution : Need to remove back slash & forward slash with underscore (" _ ")

2. Case Sensitive : Mostly in windows both "A" and "a" treat same. But in Linux thinks are different. So need to take care of this. This problems faces both in PHP and MySql files and table respectively. 

You can configuring MySQL Tables to be Case Insensitive by editing the MySQL configuration file, which is generally found at /etc/mysql/my.cnf/etc/my.cnf or ~/my.cnf

Add the following line to the my.cnf configuration file:
lower_case_table_names=1
Then restart MySQL (or reboot):
/etc/init.d/mysql restart (Debian/Ubuntu/SuSE)
/etc/init.d/mysqld restart (Red Hat/CentOS/Fedora)

Today me facing problem the CodeIgniter Web Framework  code. In case of windows folder name was in cap mean in Upper case and in php coding same folder in lower case. It working fine with window server (XAMPP). But when I migrate same into Linux server (ubuntu LAMP) case sensitivity matters and creating problem to load files. You need to take care this otherwise php code does not work. 

Wednesday, June 7, 2017

Apache SSL Certificate Installation on Linux (Ubuntu) OS

For SSL Certificate Installation in Apache (Ubuntu OS)  follow the instructions below :

1. First Copy the Certificate files to your server on apache directory : In case of Ubuntu or Linux OS find path /etc/apache2/

2. Find the Apache config file to edit  Apache's main configuration file is typically named httpd.conf or /etc/apache2/conf.d/ or /etc/apache/sites-available/. 

3. Create  a files under apache configuration directory mention above like website-ssl.conf  for SSL.
If you need your site to be accessible through both secure (https) and non-secure (http) connections, you will need a virtual host for each type of connection. Make a copy of the existing non-secure virtual host.

4. Configure it for SSL as described below :

 <VirtualHost *:443>
DocumentRoot /var/www/html/
ServerName www.yourdomainname.com
SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/DigiCertCA.crt

</VirtualHost>

rename the file names to match your certificate files as mention above.

5. Test your Apache config before restarting your apache serviceRun the following command in case of ubuntu OS.

sudo service apache2 restart

Troubleshooting: If your web site is publicly accessible tool  like (SSL Tool 1 , SSL Tool 2SSL (Grading)) can help you find problems.