I need to setup my Laravel application and XAMPP locally in Windows so that it can be accessed from multiple PCs in my local network. I've set it up successfully, but now I want to autostart my Laravel application and XAMPP when Windows is started.
To autostart XAMPP modules is really simple. Follow the steps:
STEP 1:
STEP 2: Enable apache and mysql
RESTART THE XAMPP APPLICATION and you will see that will initialize automatically on your pc startup.
To autostart the laravel project, i think by adding your editor in the task manager, start up applications, will automatically open your editor with the project.
I've solved the problem.
I am using XAMPP under Windows OS. These are the steps on how to autustart Laravel Project on localhost.
First you have to Enable virtual host configuration like under those steps:
Set virtual host in "C:\xampp\apache\conf\extra\httpd-vhosts.conf".The add a new virtual host (e.g: ship.com)
# Virtual host of ship.com
<VirtualHost *:80>
DocumentRoot "C:\xampp\htdocs\ship-management-master\public"
ServerAdmin ship.com
<Directory "C:\xampp\htdocs\ship-management-master\public">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Now have to add your Laravel Project public folder path into "DocumentRoot" and "Directory".
“C:\Windows\System32\drivers\etc\hosts” file, enter host entry.
a) Go to Start Menu, Right-Click on Notepad++ page and choose Run as Administrator.
b) Then got to “File->Open->C:\Windows\System32\drivers\etc\hosts”
uncomment " 127.0.0.1 ship.com"
and replace "localhost" name to your virtual host name aslike " 127.0.0.1 ship.com"
c) If you couldn’t see the files, change File Type : All files and enter host entry in host file.
Restart your Apache server and browse “ship.com”.
Related
I have installed Magento in my personal laptop with XAMP (windows 10) all looks good. Followed the same steps on another laptop and not able to get Magento running.
Found that port 80 is occupied in the new laptop and configured xamp with port 8090, Apache, Phymyadmin and all works good. Following is my configuration for virtual hosts file
<VirtualHost *:8090>
DocumentRoot "C:/M/xampp8.1/htdocs/magento2/pub"
ServerName kumar.magento245.com
</VirtualHost>
<VirtualHost *:8090>
DocumentRoot "C:/M/xampp8.1/htdocs"
ServerName localhost:8090
</VirtualHost>
Following in windows hosts file
127.0.0.1:8090 kumar.magento245.com
XAMP Apache running on port 8090
when i enter kumar.magento245.com gives 404 error
I assure you the rest of the installation is in sync with my earlier laptop (that dont have any service running on port 80 and i dint changed the hosts file)
Kindly please advise what to be done..
Not planning to change/edit the service running on port 80 .
when i enter kumar.magento245.com gives 404 error.. it should got my local magento running ( installed at C:/M/xampp8.1/htdocs/magento2/pub )
I followed a response in the following thread #Raz0rwire and solved my issue.
Set up virtual hosts on Apache (XAMPP, Windows 10)
accessed the url like this kumar.magento245.com:8090 port number at the end..
Welcome to SO #kumar2023,
There could be multiple possibilities for resolving this issue,
in this case, I would prefer the below steps :
Try running Magento with the direct browser URL ie. https://yourmagnetopath/pub and ensure at least my Magento has been installed
correctly
Try removing the default ports and their entries, in my case well I am using ubuntu hence there could be a case of caching if you tried multiple times with the same URL.
Try with the incognito browser or I would prefer a new browser where you haven't tried to run this URL.
Just give a try with the newer domain (again there could be a reason for caching)
I am setting up a new machine. I have it configured to use a Sites folder and localhost to access it. Using Apache, everything installed via Homebrew.
Sites folder
site1
site2
In the browser
localhost/site1/index.html
localhost/site2/index.html
That part works fine.
The problem is that site1 and site2 think localhost is the root folder (which it is) but I want them to think localhost/site1 and localhost/site2 are the root folders for those sites.
Is this something I can do with /etc/hosts or some other trickery?
It turns out this is a combination of /etc/hosts and Apache VirtualHosts. Here are the steps I took:
Establish the directories where you want to serve them from (this will become your DocumentRoot). In my case /Users/myusername/Sites/site1
Edit your /etc/hosts file to include your new "domain name" (this will become your ServerName). In my case site1.com
127.0.0.1 site1.com
::site1.com
Create an Apache Virtual Host ... there are different ways to go about this, but I used Homebrew to install Apache, so for me, there is a file here: /opt/homebrew/etc/httpd/extra/httpd-vhosts.conf. I copied the examples provided using DocumentRoot and ServerName as noted above.
Update this file /opt/homebrew/etc/httpd/httpd.conf to uncomment this line
Include /opt/homebrew/etc/httpd/extra/httpd-vhosts.conf
Restart Apache
Recently I tried to host a simple webpage using xampp. It was working before. Then later I tried some php form handling but it didn't work. Now, that simple web page hosting is not even working. I reinstalled the xampp and did the relevant changes but still its not working.
A little help ll be appreciated.
What I did is here in this word file.
I installed the xampp. So to make the apache working I made some changes as suggested by one person.
Stopped every service in xampp
Now, I clicked on config and open the httpd.config
In between I change "listen" to 8080 instead of 80
Down i changed the servername local host to 8080 instead of 80
Closed the httpd.config file.
Now I opened the httpd-ssl.config file and search to Listen
Change the port to 4433 from 443
Down below I did this <VirtualHost _default_:4433>
and, closed it.
Now, i have a HTML page in one directory, i kept it single page.
- Now, i open notepad using the admin.
- Browse to C:\xampp\apache\conf\extra and open the httpd-vhosts file
- Uncomment this ameVirtualHost *:8080 and make relevant changes as 8080 from 80.
Below I add this code :-
<VirtualHost *:8080>
DocumentRoot "G:\HTML\proj1"
ServerName testing.com
<Directory "G:\HTML\proj1">
Require all granted
</Directory>
</VirtualHost>
Saved the file.
Now again browse to C:\Windows\System32\drivers\etc and open hosts.conf file
And, add this line below 127.0.0.1 testing.com
Now closed the notepad after saving.
I made a simple html page in the given directory proj1
When i typed the testing.com in browser nothing happened. And, yeah I did started the apache also.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
The community reviewed whether to reopen this question 1 year ago and left it closed:
Original close reason(s) were not resolved
Improve this question
How To Set Up Apache Virtual Hosts on XAMPP (Windows)
##Full guideline to make VHOST (Virtual Host) on XAMPP/WAMP
Note: To start with, the only difference for this guideline, between XAMPP and WAMP or other Apache packages for Windows, is question where those packages are installed on your computer.
Introduction: vhost (virtual host) is a great solution if you intend to develop many independent project in php and keep them isolated from each others, like:
Project 1 is based on php and has local url address php.localhost
Project 2 is a Laravel project with url laravel.localhost
Project 3 is a Codeigniter with url codeigniter.localhost
Project 4 is a WordPress with url wordpress.localhost
You are expected to have installed the latest version of XAMPP/WAMP. Btw, in my case, I have only installed Apache and MySQL.
*Note: By default, most web servers will uses port 80 as default port, in some situation if you have another web server installed like (Microsoft IIS), it uses port 80 as well OR in other cases SKYPE does also some times use port 80 like it is the case for some in Windows 8/10 for some users, in that case you can do two thing’s
Change your Apache port to port 8080, 8081 etc. or some other free ports (note: 8080 can some times also give some problems)
OR Change your others software/IIS port and keep Apache to default port 80 in case of Skype, just kill the Skype app and restart it after installing Apache on port 80, Skype will automatically get new port.
I have chosen to change my Apache to port 8080.
Note:
For next section, we need to use text editor like notepad or regular IDE. I used sublime text editor.
If you keep Apache to default port 80, skip this part and move on to Virtual hosts
Change XAMPP/WAMP port (only if necessary)
if left default, then jump to Setting virtual host
Step 1. Edit httpd.conf
Click on Config -> Apache (httpd.conf)
Or you find the file here C:\XAMPP\apache\conf\httpd.conf, C:\XAMPP\apache2\conf\httpd.conf, C:\Bitnami\wampstack\apache\conf\httpd.conf or C:\Bitnami\wampstack\apache2\conf\httpd.conf or similar location.
Change the line with
Listen 80
To 8080 or other, free ports.
Listen 8080
While we have httpd.conf file open we need to ensure that httpd-vhosts.conf is included:
Include conf/extra/httpd-vhosts.conf
Virtual hosts
Note: By default server documents are locate on C:\XAMPP\htdocs or C:\Bitnami\wampstack\apache2\htdocs that’s fine if you have only one project or many small test files. However, if you need to develop many projects then it suggested separating them by virtual host, as mentioned earlier.
Step 2. Setting Virtual host
Create a folder for your projects; I have create one in c:\vhost you can call it projects etc.
In c:\vhost folder we create a sub-folder domain1 or project1 or any other, it is up to you (c:\vhost\project1)
Open httpd-vhosts.conf file C:\XAMPP\apache\conf\extra\httpd-vhosts.conf Add following code in line depending on how many vhost you want to create:
<Directory C:/vhost>
AllowOverride All
Require all granted
</Directory>
#this is the default address of XAMPP
<VirtualHost *:8080>
DocumentRoot "C:/XAMPP/htdocs/"
ServerName localhost
</VirtualHost>
#this is the first vhost address in XAMPP
<VirtualHost *:8080>
DocumentRoot "C:/vhost/project1/"
ServerName php.localhost
SetEnv NS_ENV variable_value
</VirtualHost>
#this is the second vhost address in XAMPP for project like Laravel
<VirtualHost *:8080>
DocumentRoot "C:/vhost/Laravel-Blog/public"
ServerName laravel.localhost
</VirtualHost>
etc
Note: If you work on Laravel projects you can create unlimited Laravel projects as well as other frameworks like codeigniter, Yii, etc., the point is to
have your Laravel project/s on c:\vhost\laravel1,
c:\vhost\laravel2 etc and make c:\vhost\laravel1\public as
DocumentRoot etc as showed before. Each Laravel project will have own
VirtualHost URL.
Save and close the file
Some additional information and notes:
If port is remain default 80 then the URL address will be localhost
If port is remain default 80 then the the VirtualHost tag should be changed to <VirtualHost *:80>
If port is changed to 8080, the URL address will be localhost:8080
And the vhost URL address could look like this project1.localhost:8080 etc
You can add unlimited projects and virtual host like this way.
We are not ready yet, read more.
Step 3. Edit Windows Host file
Stop Apache and MySQL services from XAMPP/WAMP.
Open hosts file in C:\windows\system32\drivers\etc
you need Administrator privilege to edit the file.
I suggest to edit the file directly with Sublime text editor.
Add 127.0.0.1 project1.localhost at the end of the file, Save and close the file.
127.0.0.1 localhost
127.0.0.1 php.localhost
127.0.0.1 laravel.localhost
127.0.0.1 codeigniter.localhost
127.0.0.1 wordpress.localhost
127.0.0.1 laravel2.localhost
etc. those are just examples
save the file
Final Step.
Start/Re-start your Apache and MySQL again.
**Addition (Suggestion)**
Note: Under you development process you might face problem having cache on, because you can risk updating some thing in Laravel and it won't appear in your browser. Therefore you might need to disable php cache under development process in your local environment.
Open file php.ini under php folder in your Apache (XAMPP or WAMP) folder and
change opcache.enable to 0 so it looks like this:
[opcache]
zend_extension=php_opcache.dll
; Determines if Zend OPCache is enabled
opcache.enable=0
Addition (Alternative solution)
Important: The following solution is not suitable to test Restful Api, canvas, heavy solutions, etc.it might give you some headaches, I would suggest virtual host solution with port 80 as default.
It is possible to deploy temporary Virtual Server with out necessarily configuring XAMPP/WAMP Virtual Host, start CMD console and run following php command:
php -S localhost:8001 -t c:\vhost\Laravel-Project\public
Port 8001 can be change to any available port number and be sure not conflicting with other software ports.
c:\vhost\Laravel... path should be changed to whatever your project path.
It is possible to start multiple servers but should have different port numbers.
In your browser you need only to write
http://localhost:8001/
Note on 403 Access forbidden error
If you get a 403 Access forbidden error when you browse to your site, you may need to add this to your httpd.conf file:
<Directory path_to_dir>
AllowOverride none
Require all granted
</Directory>
You can make your localhost to point to different folders on different port numbers. Follow these simple steps:
Step 1: Make your apache to listen to multiple ports. Go to C:\xampp\apache\conf\httpd.conf and search for the key word Listen you can see something like this Listen 80. Now tell your apache to listen to multiple ports, replace that with below content
Listen 80
Listen 8001
Listen 8002
Step 2: Now go to “C:\xampp\apache\conf\extra\httpd-vhosts.conf”, this is the actual player. At the end of the file you can specify something like this below:
DocumentRoot "C:/xampp/htdocs/project1"
ServerName localhost:8001
DocumentRoot "C:/xampp/htdocs/project2"
ServerName localhost:8002
Which tells your apache to take different folders on hitting different port numbers. That is when you hit localhost:8001/ it will take the contents from project1, similarly localhost:8002/ will point to your project2 folder.
By doing this we and run 2 different sites on our local machine.
Note: You need to restart your apache whenever you change something in httpd.conf or httpd-vhosts.conf.
Virtual Host create
C:\xampp\apache\conf\extra
Open httpd-vhost file then
Add
DocumentRoot "C:\xampp\htdocs\project\timegrid\public"
ServerName mytimegrid.me(ur choice)
C:\Windows\System32\drivers\etc
Open hosts file then add 127.0.0.1 mytimegrid.me(Your Domain Name)
N.B. you first open your editor(notepad etc....) as Run As Administrator mode otherwise you can not save these files. ok.
First of all, open your Notepad as an Administrator and
then click on file > open. Then go to your window driver now search for system32 folder and then search for drivers folder and then the etc folder.
Now you'll see a folder of empty files, so don't worry to see Text Documents (*.txt) at the bottom. Change the view to all files and then you will see the vhost file.
Open and enjoy!
I have an issue on my windows 7, I want to work on php so i tried everything but can not get it done. It always gives
Unable to connect
Firefox can't establish a connection to the server at nazar-studio:8080.
These are the things i had tried:
Installed WAMP
Installed XAMPP
Installed Apache
Installed IIS
stoped the http service
blocked anti-virus
un-installed anti-virus
stoped skype
Also tried this link
and there are many other things i had done, but invain.
When i check the port using netstat -an it shows the ports listening, i tried many different ports, but nothing works.
Can any one help me, I am really struck and frustrated due to it.
Have you tried connecting to localhost rather than 'nazar-studio'?
Are you sure its running on port 8080?
Is there possibly another process running on port 8080?
Have you checked the error logs? (in #apache install dir#/logs/)
To get Apache running on Windows 7 I did the following.
Switch to Administrator:
Open a command prompt as Admin, type net user Administrator /active:yes and then log off. At the log on screen you will see two options, log in as Administrator.
Install Apache.
Edit conf file to how you want.
Make sure you have set Listen to 8080 (I have mine left as 80).
Don't forget to LoadModule for PHP. Set the ServerName to localhost:8080 (again I have mine as 80).
Set DocumentRoot to the htdocs folder where you installed Apache - mine is C:\Program Files\Apache\2.0.40\htdocs. By connecting to localhost:80 you should be able to see the Apache welcome screen.
Add type info for PHP (AddType application/x-httpd-php .php .phtml .php3).
Create a virtual host. I am guessing yours would look like
<VirtualHost *:8080>
ServerName nazar-studio.localhost
DocumentRoot "C:/Develop/nazar/htdocs"
ServerAdmin webmaster#localhost
DirectoryIndex index.php index.html index.htm
ErrorLog logs/error.nazar.log
CustomLog logs/access.nazar.log combined
</VirtualHost>
Now Edit your hosts file in C:\Windows\System32\drivers\etc and add the subnets you have added:
127.0.0.1 localhost
127.0.0.1 nazar-studio.localhost
127.0.0.1 test.localhost
Open the command prompt and now type net user Administrator /active:no to disable the admin. Log off and reconnect as you.
Start Apache and you should be able to connect.