Apache Web Server Application Deployment - apache

We are in active process of developing web application under Apache Web Server.
What is web application structure, that should be deployed on Apache Web Server? Is there documentation available?

After installing Apache Web server
you need
1) Mysql to access database and store your data
2) PHP to run scripts for retrieving data from database to display it and to save data to the database.
For windows users :
https://netbeans.org/kb/docs/php/configure-php-environment-windows.html#installComponentsSeparately
For Linux users:
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04

Related

Can I have NodeJS and Apache in the same server?

My boss gave me an Apache server and I need to upload files there through a web site that I'm developing, I'm using Angular 7 Cli for the frontend and NodeJS Express for the backend. I can recive all the files into my NodeJS server using "multer" but Node saves them into my computer. Is there any way to connect my Node Server to the Apache server, because I don't want to have a local server. Thanks a lot.

Lucee - what is the difference between the Server and Web admin page?

Learning Lucee for the first time. What is the difference between the Server and Web admin pages? (Does the 'Server' page handle config for the app server, and web for the web server?)
And how do they relate to the Tomcat Apache server I was supposed to install with it?
The server admin lets you set settings at a global level, like the Adobe ColdFusion admin, however the web admin lets you set settings for one particular web site, so for example I always configure data sources at the web level so that only the site that needs access to that data source has access to it.
Web settings have precedence over server settings, so if you have it set to setting A in the server admin but setting B in the web admin for one site it will use setting B for that website but setting A for all other sites.
With regards to Tomcat that is the Java servlet container in which Lucee runs (https://en.wikipedia.org/wiki/Web_container). If you used the installer then Tomcat will have been installed automatically for you.

RavenDB automation - RESTful way to add users to system db for Windows Authentication?

Situation:
Automated commercial RavenDB 3 server install & configuration on Amazon EC2 to a standalone server (no active directory domain). Local Windows users are automatically created.
Problem:
Using the HTTP client API, how to add local windows users to the Raven/Authorization/WindowsSettings document of the system database?
Reference:
The docs describe a method using the Studio to achieve this:
https://ravendb.net/docs/article-page/3.0/http/server/configuration/authentication-and-authorization
The document is just that, a standard RavenDB document. You can operate on that using the standard JSON REST endpoints to manipulate it.

Difference between web server, application server and database server

I read somewhere that a web application consists of a web server, application server and a database server. What is the difference between these three ?
I asked this question because I remember when I hosted a website, all I had was a https login to the control panel of the website, in which I put all my files in htdocs folder. There were no three separate things like the web server, application server and the database server.
This often gets confusing.
Firstly - "Server" can refer to a physical thing (a computer), or a logical thing (a piece of software).
Web, application and database server software can all run on the same physical server machine, or be distributed across multiple physical machines. Most large websites have multiple machines; most "consumer" hosting packages run on a single box.
The logical separation is as follows.
The Web server deals with HTTP(S) requests, and passes these requests on to "handlers". They have built-in handlers for file requests - HTML pages, images, CSS, JavaScript etc. You can add additional handlers for requests that they cannot manage - e.g. dynamic pages delivered by the application server. Web servers implement the HTTP specification, and know how to manage request and response headers.
The application server handles requests which create dynamic pages. So instead of serving an HTML page that is stored on the hard drive, they dynamically generate the HTML sent to the end user. Common languages/frameworks for this are Java/JSP, .Net (aspx), PHP, Ruby (on Rails or not), Python etc. Most of the time, this application server software is running on the same physical server machine as the web server.
The database server software is where the application stores its structured information. Typically, this means custom software which allows the application server to ask questions like "how many items does user x have in their basket?", using a programming language. Examples are MySQL, SQL Server, Oracle (all "relational databases"), and MongoDB, Redis and CouchDB ("NoSQL" solutions).
The database software can run on the same physical machine as the web server, but it's usually the first thing that gets hosted on separate physical hardware when the site needs to scale.
Web Server -
Server on which your website is hosted. This server will have installed web servers such as IIS, apache, etc.
Application Server -
Server on which your created applications which are utilizing your database, web service, etc.
This application server will host business layer (wrapped with web services), scheduled jobs, windows services, etc.
Database Server -
Database server will have your one or more database hosted such as Oracle, Sql Server, MySql, etc.
If you are referring to htdocs then it is a Web Server. The database you are using is must be installed on different server which is your Database server. Application server can also be installed on the same web server machine.
Reference - Deployment Patterns
Web Server: The server on which all your HTTP requests are handled is known as a web server
where as
Application Server: Including the services of web server i.e responding to the HTTP requests it also responds to the business logic thus not just limited to the HTTP protocol
Eg. gaming servers, chat rooms etc.

What is the correct way to install Celery/Redis to run the tasks on another server?

The web server itself runs django. I would like the web server to delegate the actual tasks work to another server.
First, setup your redis server on the remote server. Change your django configuration to connect to this server.
When you deploy your app, I recommend using fabric to deploy to your web server and your worker server. It should handle the restart logic as well.