Production Grade Server Software - apache

I am currently using XAMPP to test and Run my website on my Laptop.
Is there any (Good,Production Grade,Free,AMP based) server software?
Or Can I manually fix the security holes in XAMPP (like no password for 'root') to bring it up to production level?
Platform : Windows
Technologies: Apache, MySQL, PHP
Requirements: Hosting on Own server
Priveleges: Easy installation and configuration

You're best off just setting things up yourself. It's not that difficult, especially since there are scores and scores of guides around the web. Trying to bring XAMPP up to production quality would be just as much work. Here are some links:
Ubuntu LAMP
Debian LAMP
Fedora LAMP
Arch Linux LAMP
WAMP (Windows)
You can easily find more by doing a Google search.

Why not simply use official Apache? It's the most-used Production http server in the world.
Can you expand your question with details on your platform and requirements?

You would be better off configuring the full stack yourself. This ensures that you know what's running, and how it's configured. Even if you use a bundle (I highly recommend Zend Server if you do), you would need to run through the service configurations anyway. Never rely on anything out-of-box in a production environment.
If you do configure the stack yourself, Google is your friend, and there are plenty of resources here to help as well.

Related

Magento 2 development environment on local server

I need to create a local development environment and struggling a little with the setup. I want to replicate my live server as close as I possibly can.
I want to install Magento ver 2.1.8, running MySQL 5.6, PHP 7.0 with NginX and Debian.
Now, it would be more than one person which will be working on the development sites, therefore, it will have to stored on our local server.
We are working on Windows 10 Pro machines.
I had a look at tools such as VirtualBox, Vagrant and Docker but reading about them got me even more confused.
I had a brief look at the LAMP stack too. Could you recommend the best way to go for my situation?
Do I have to use these tools in combination with each other?
Do I have to install the software on each computer or on local server?
I recommend to use this docker container: https://github.com/yvoronoy/magento2docker
It uses apache but you can change it via editing Dockerfile. Main advantage in this container is configured sshfs mounting in MacOS which works a little bit faster that default mounting, and you can work with source code as you work on local instance.

PhpStorm and other Tools in a Virtual Machine

I am developing php applications at my work.
The development server runs in a ubuntu vm, but on the host machine runs windows 7 os.
I keep running into problems with windows as a development environment and i am missing
some linux features. Unfortunately, I can not install another operating system on the host.
Now I wonder if I should install all my dev tools (like phpstorm) in another virtual machine
and do my work there. Does it make sense or will i get performance issues?
This is the perfect use-case for Vagrant.
Create and configure lightweight, reproducible, and portable development environments.
From the official website.
It can be controlled with PhpStorm and it is perfectly lightwight.
I am using PhpStorm, Vagrant & Puppet with nginx, php and mysql, XDebug and I am quite happy with it, quite powerful and very easy to deploy.
EDIT
And this is awesome blog post by James McFadden on Using Vagrant and Puppet to build a PHP, Nginx and MySQL environment and you can find numerous others with apache or any other tool you might need.
DECLAIMER: The step with replacing my.cnf didn't work for me so I could advice you to just skip it.

What platform (server installed on ubuntu vs ubuntu server) to prefer for website development?

I am developing a website which is supposed to have blogging capabilities (which I aim to achieve via wordpress) and a CRM based upon jsp and oracle express (as the website will be deployed over linux server, sql server is not an option).
For development should I choose a server to be installed on a linux machine or should I use linux server? I am sorry if they are very different things and not comparable but I went through both of theirs documentation but couldn't figure out anything.
If I should go for some server to installed on ubuntu, what server should i go for?
I hear that glassfish has much higher support for jsp rather than apache.
Please also keep in mind that the website will go o live on a linux server so please suggest based upon problems or ease of deployment on later stage.
I have a deadline to meet and the people who gave me this work have not been much generous with time. I do not have much linux experience so please pardon my lack of knowledge of the platform.
There seems to be a lot of confusion in your post. Based on your lack of experience with GNU/Linux, I would suggest you use desktop Ubuntu.
The difference between Ubuntu server and Ubuntu desktop is that the server edition is targetted to experienced users, so you get a very minimal distribution. No GUI, nothing preinstalled except the bare minimum.
As for your comment about Apache/Glassfish, the two aren't comparable. Apache is the name of the open source community which looks after a lot of products. Very often people call Apache's httpd just "apache", which is a web server. Glassfish is a Java EE application server (Oracle's reference implementation) so probably a good place to start with Java EE.

Server Setup: Based on Apache and Tomcat needs

I'm trying to setup a server based on our needs for a new website. Basically, I need to build a website based on social engine, and according to the platform's requirements (found here: http://www.socialengine.net/support/documentation/article?q=152&question=SocialEngine-Requirements) it requires the webserver to be Apache based.
Now my issue comes with the addition of a web application that needs to be included in the site. The web application requires the server to be capable of Asynchronous Request Processing, and is currently only supported by Tomcat or GlassFish.
I found a couple tutorials such as this one http://www.serverwatch.com/tutorials/article.php/2203891/Integrating-Tomcat-with-Apache.htm that explain how to "integrate" Tomcat into Apache. Would a server running Tomcat alone be able to handle the applet needs as well as serve the Apache (assuming HTTP) needs from the Social Engine platform? Are there any hosting providers any of you would reccomend?
Although I've done alot of front end stuff before, this is the first time i have to deal with any of the back end details, so my knowledge of server side functionality is really garbage. Please let me know if I'm not asking the right questions.
Thanks
You wouldn't really be able to use Tomcat for both apps, since the other one needs PHP. It's pretty common to have both Tomcat and Apache running on the same server. You might want to look up more recent documentation on mixing them, even this but definitely have a look at mod_proxy_ajp.
What's the other application? It's a little tricky to set up Asynchronous Request Processing if you are new to server apps, but there is also a lot of documentation, so if you're game, you can probably figure it out OK. You might also want to see if that app would work with node.js (hosting info here)
If you want to set it all up yourself, you could get a virtual private server from Rackspace Cloud or similar host or get a shared host that has the required apps already set up, which would limit your ability to customize the environment and may require 2 hosting plans, but would be easier to set up. It also somewhat depends on if both apps need to be on the same machine for any reason and/or on the same domain.
A regular LAMP stack will run SE4 just fine, however, you will need to do some tuning to get the page loads under 3 seconds. You will want to remove any Apache modules that you aren't using with a2dismod. For instance, if you're not using any Ruby on the site, a2dismod ruby. This will help get memory usage under control. APC is a must.
For a much more in depth read on tuning php/apache, please read this: Performance tuning on Apache, PHP, MySQL, WordPress v1.1 – Updated

Authentication between Windows and Linux servers on two hosts but same domain - possible?

We have an issue that I can't wrap my head around regarding possible solutions.
We have a site that runs off of a Dot Net Nuke CMS, with a custom asp.net CMS powering a reviews engine aspect of it too. This is hosted on a Windows server setup on SQL servers and has its own user registry.
We are looking at a script for an add on revenue offering, and the best of breed we have found happens to be Linux-based using MySQL servers. There are some other options, but none are nearly as robust as the Linux based one.
Our quandry is two-fold:
1) If we use this script, we will need to host a linux server with a different host service (ours only does windows servers). Both server sets will point to the same domain (www.mydomain.com) and have communication between the MySQL DB on the Linux machine and the SQL DB on the Windows machine.
Is this possible...and problematic? Or is this a fairly straightforward issue to solve?
2) The larger issue if the first is a hurdle that can be cleared is we would want to share our user registry between the two databases, so the user would not be logging into each DB when going between the two environments.
This issue is more complex than my understanding of authentication and databases so I'm hoping someone can help me out or at least start me in a good direction for research.
We could go with the other script routes, but they simply don't offer the functions or features of the more difficult to implement code.
OK, you can always run MySQL on the Windows box and install cgywin to run the script in a more unix type environment. Or run xampp on a different port: http://www.apachefriends.org/en/xampp.html