Lamp Technology
Lamp Technology
On
LAMP TECHNOLOGY
Submitted to
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
Submitted by
KASULA BHAVANA
(189E1A0589)
Under the esteemed guidance of
(2018-2022)
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Certificate
This is to certify that the seminar report entitled
LAMP TECHNOLOGY
KASULA BHAVANA
(189E1A0589)
Submitted towards the partial fulfillment of the requirements for the award
of the degree of bachelor of technology in computer science and
engineering from JNUTA, Anantapuramu during the year 2018 – 2022.
I would like to express my gratefulness and sincere thanks to Dr. N. Chaitanya Kumar,
& Department Head of CSE, for his kind help and encouragement during the course of
study and in the successful completion of the seminar report.
I would like to express my heartful thanks to Dr. T. Kalpa Latha Reddy, Principal, for
successful completion of this seminar report, which cannot be done without proper
support and encouragement.
I sincerely thanks to Management for providing all the necessary facilities during
course of study.
I would like to express my deep gratitude to all those who helped directly or indirectly
to transform an idea in to my working seminar report.
KASULA BHAVANA
(189E1A0589)
DECLARATION
I hereby declare that the seminar entitled “LAMP TECHNOLOGY”, submitted to the
Department of Computer Science and Engineering at S.V Engineering College for Women,
Tirupati, in partial fulfillment of requirements for the award of the degree of Bachelor of
Technology in Computer Science and Engineering.
This report is the result of my own effort and it has not been submitted to any other University
or Institution for the award of any degree or diploma other than specified above.
KASULA BHAVANA
(189E1A0589)
ABSTRACT
With many LAMP sites running E business logic and Ecommerce site and requiring 24x7
uptime, ensuring the highest levels of data and application availability is critical. For
organizations that have taken advantage of LAMP, these levels of availability are ensured by
providing constant monitoring of the end-to-end application stack and immediate recovery of any
failed solution components. Some also supports the movement of LAMP components among
servers to remove the need for downtime associated with planned system maintenance.
The paper gives an overview of LINUX, APACHE, MYSQL, and mainly on PHP and its advantage
over other active generation tools for interactive web design and its interface with the advanced
database like MYSQL and finally the conclusion is provided.
INDEX
CERTIFICATION ............................................................................................................................
ACKNOWLEDGEMENT ................................................................................................................
DEDICATION ..................................................................................................................................
ABSTRACT ......................................................................................................................................
INTRODUCTION ........................................................................................................................
TECHNOLOGIES ........................................................................................................................
ADVANTAGES ..........................................................................................................................
DISADVANTAGES ....................................................................................................................
CONCLUSION .............................................................................................................................
REFERENCE ................................................................................................................................
TABLE OF CONTENTS
1 INTRODUCTION 5
➢ What is LAMP? 6
➢ LAMP Technology Expertise Overview 7
➢ Meaning of LAMP? 7
➢ How LAMP works? 8
➢ Why LAMP a popular choice? 9
2 COMPONENTS OF LAMP 10
➢ LINUX 10
➢ APACHE 10
➢ MYSQL 11
➢ PHP/PERL/PYTHON 12
➢ BROWSER 13
3 TECHNOLOGIES 14
CLIENT SIDE 14
▪ DHTML and Client-Side Scripting
▪ Active X Controls
▪ Java Applets
SERVER SIDE 15
▪ PHP
▪ CGI
▪ APS
▪ Java Server Pages and Java Servlets
4 APPLYING LAMP 17
➢ Storing our data
➢ User Interface
➢ Programming
➢ Security
➢ When not to use LAMP
6 BENEFITS OF LAMP 19
➢ Easy to code
➢ Cost Factor
➢ Highly Secure
➢ Platform Independent
➢ Easy Deployment
➢ Local Development
7 ADVANTAGES 20
8 DISADVANTAGES 20
9 CONCLUSION 21
10 REFERENCE 22
INTRODUCTION
It’s the development platform that determines the efficiency of an application. The choice of a
wrong platform means the resultant application won’t match the specifications of the client in
their entirety.
Businesses, these days, are not looking for just any application. They want an application that
can improve their business processes and fast-track their business growth. For this to happen,
they need an application that can be easily integrated into their existing IT infrastructure and
one that can be trusted to deliver high performance.
With an aim of developing the best web applications, developers have increasingly started
using LAMP. LAMP is a software bundle or stack that stands for Linux, Apache, MySQL and
PHP, Perl or Python. LAMP is featured with reliable database MySQL, prominent web server
Apache, secured Linux and languages like PHP and Perl which are open source scripting
languages. This is considered to be the most popular choice in web development and it
provides numerous advantages over other platforms like ASP.Net, Ruby on Rails and J2EE.
It’s interesting to note that they were developed individually and at no point during the
development of the software did the developers think about creating them for combined use.
But, it was found that they offer an unbeatable stack of solution-driven technologies that
support application servers.
5
LAMP Technology
The LAMP stack is a popular open-source solution stack used primarily in web development.
LAMP consists of four components necessary to establish a fully functional web development
environment. The first letters of the components' names make up the LAMP acronym: Linux
is an operating system used to run the rest of the components. Apache HTTP Server is a web
server software used to serve static web pages. MySQL is a relational database management
system used for creating and managing web databases, but also for data warehousing,
application logging, e-commerce, etc. PHP, Perl, and Python are programming languages are
used to create web applications. Each component represents an essential layer of the stack.
Together, the components are used to create database-driven, dynamic websites.
7
LAMP Technology
LAMP is remarkably focused towards Web applications that follow a very straightforward
architecture. It begins with Linux that forwards HTTP connections to Apache. Then, Apache
directly serves static content from Linux kernel. Further, Apache forwards dynamic pages to
PHP that uses its code to design the page. Now, database queries are sent to MySQL through
PHP and admin section is handled through phpMyAdmin. Furthermore, every management
system can manage a HTTP server, Apache and operating system – Linux.
Think of a scenario where your business is unable to manage its organisational data. You want
a solution to the comprehensive data flow taking place throughout your organisation and you
want this solution in double quick time.
In cases like these, where a business or an organisation cannot dedicate a lot of time to
problem-solving, the LAMP stack is the preferred platform for development.
This is because developers can build an application quickly and ensure its reliability and
stability. It’s actually a win-win situation for both you and the developers.
Both sides save time, and the well-defined development process ensures a highly efficient
application.
9
LAMP Technology
COMPONENTS OF LAMP
LINUX
LINUX is presently the most commonly used implementation of UNIX. Built from the ground
up as a UNIX works like operating system for the Intel 386/486/pentium family of chips by a
volunteer team of coders on the internet. LINUX has revitalised the old school UNIX
community and added many new converts. Linus Torvalds leads LINUX development.
The core of the system is the LINUX kernel. LINUX has gained a huge amount of momentum
and support, both from individuals and large corporations such as IBM. LINUX provides a
standard compliant robust operating system that inherits the UNIX legacy for security and
stability.
Originally developed for Intel x86 systems, LINUX has been ported to small embedded
systems on one end of the spectrum up to large mainframes and clusters. LINUX can run on
most common hardware platforms.
APACHE
Apache is the most popular web server on the Internet. Apache like LINUX, MySQL and PHP is
an open source project. Apache is based on the NCSA (National Center for Super Computing
Applications) web server. In 1995-1996, a group of developers coalesced around a collection
of patches to the original NCSA web server. This group evolved into the Apache Software
Foundation.
With the release of Apache 2.0, Apache has become a robust and well documented
multithreaded web server. Particularly appealing in the 2.0 release is improved support for
non-UNIX systems. Apache can run on a large number of hardware and software platforms.
Since 1996, Apache has been the most popular web server on the Internet.
Presently, apache holds 67% of the market.
MySQL
MySQL is a fast, flexible Relational Database. MySQL is the most widely used Relational
Database Management System in the world with over 4 million instances in use. MySQL is
high-performance, robust, multi-threaded and multi-user. MySQL utilizes client-server
architecture. Today, more than 4 million websites create, use, and deploy MySQL-based
applications. MySQL' focus is on stability and speed. Support for all aspects of the SQL
standard that do not conflict with the performance goals are supported.
Features include:
• Ease of Use
• Multi-user support
• Scalability
• Standards Compliant
• Replication
• Quality Documentation
• Full-Text searching
PHP
What's next in the field of web design? It's already here. Today's webmasters are deluged with
available technologies to incorporate into their designs. The ability to learn everything is fast
becoming an impossibility. So, your choice in design technologies becomes increasingly
important if you don't want to be the last man standing and left behind when everyone else
has moved on. But before we get to that, let’s do a quick review of the previous generation of
web design. In the static generation of web design, pages were mostly HTML pages that relied
solely on static text and images to relay their information over the internet. Here, the web
pages lacked x and y coordinate positioning and relied on hand-coded tables for somewhat
accurate placement of images and text. Simple, and straight to the point, web design was
more like writing a book and publishing it online.
The second generation of web design (the one we are in now), would be considered the
ACTIVE generation. For quite a while now, the internet has been drifting towards interactive
web designs which allow users a more personal and dynamic experience when visiting
websites. No longer is a great website simply a bunch of static text and images. A great
website is now one which allows, and encourages user interaction. No longer does knowing
HTML inside out make you a webmaster, although that does help a great deal!! Now, knowing
how to use interactive technologies isn't just helpful, it's almost a requirement. Here are a few
of the interactive technologies available for the webmasters of today.
➢ Can send data to the client that isn't on the client computer.
➢ Quicker loading time. After the server interprets all the PHP code, the resulting page is
transmitted as HTML.
➢ Security is increased since things can be coded into PHP that will never be viewed from the
browser.
BROWSER
Since all the tools are in place to deliver HTML content to a browser, it is assumed that control
of the application will be through a browser-based interface. Using the browser and HTML as
the GUI (Graphical User Interface) for your application is frequently the most logical choice.
The browser is familiar and available on most computers and operating systems. Rendering of
HTML is fairly standard, although frustrating examples of incompatibilities remain. Using HTML
and HTML-form elements displayed within a browser is easier than building a similarly
configured user interface from the ground up. If your application is internal, you may want to
develop a specific browser and OS combination. This saves you the problems of browser
inconsistencies and allows you take advantage of OS specific tools.
TECHNOLOGIES
CLIENT SIDE
DHTML, Javascript, and VBscript. They all have in common the fact that all the code is
transmitted with the original webpage and the web browser translates the code and creates
pages that are much more dynamic than static html pages. VBscript is only supported by
Internet Explorer. That again makes for a bad choice for the web designer wanting to create
cross platform web pages. With Linux and other operating systems gaining in popularity, it
makes little sense to lock yourself into one platform.
Of all the client side options available Javascript has proved to be the most popular and most
widely used; once your an expert with HTML.
ACTIVE X CONTROLS
Developed by Microsoft these are only fully functional on the Internet Explorer web browser.
This eliminates them from being cross platform, and thus eliminates them from being a
webmasters number one technology choice for the future. Disabling Active X Controls on the
IE web browser is something many people do for security, as the platform has been used by
many for unethical and harmful things.
JAVA APPLETS
Java Applets are programs that are written in the Java Language. They are self contained and
are supported on cross platform web browsers. While not all browsers work with Java Applets,
many do. These can be included in web pages in almost the same way images can.
SERVER SIDE
PHP
PHP is the most popular scripting language for developing dynamic web based applications.
Originally developed by Rasmus Lerdorf as a way of gathering web form data without using
CGI it has quickly grown and gathered a large collection of modules and features. The beauty
of PHP is that it is easy to get started with yet it is capable of extremely robust and
complicated applications. As an embedded scripting language PHP code is simply inserted into
an html document and when the page is delivered the PHP code is parsed and replaced with
the output of the embedded PHP commands. PHP is easier to learn and generally faster than
PERL based CGI. However, quite unlike ASP, PHP is totally platform independent and there are
versions for most operating systems and servers.
CGI
This stands for Common Gateway Interface. It wasn't all that long ago that the only dynamic
solution for webmasters was CGI. Almost every webserver in use today supports CGI in one
form or another. The most widely used CGI language is Perl. Python, C, and C++ can also be
used as CGI programming languages, but are not nearly as popular as Perl. The biggest
disadvantage to CGI for the server side is in it's lack of scalability. Although mod_perl for
Apache and Fast CGI attempt to help improve performance in this department, CGI is probably
not the future of web design because of this very problem.
ASP
Another of Microsoft's attempt's to "improve" things. ASP is a proprietary scripting language.
Performance is best on Microsoft's own servers of course, and the lack of widespread COM
support has reduced the number of webmasters willing to bet the farm on another one of
Microsoft's silver bullets.
▪ Avoids cross platform issues with operating systems and web browsers.
▪ Can sent data to the client that isn't on the client computer.
▪ Quicker loading time. After the server interprets all the PHP code, the resulting page is
transmitted as HTML.
▪ Security is increased, since things can be coded into PHP that will never be viewed from the
browser
APPLYING LAMP
STORING OUR DATA
Our data is going to be stored in the MySQL Database. One instance of MySQL can contain
many databases. Since our data will be stored in MySQL it will be searchable, extendable, and
accessible from many different machines or from the whole World Wide Web.
USER INTERFACE
Although MySQL provides a command line client that we can use to enter our data we are
going to build a friendlier interface. This will be a browser-based interface and we will use PHP
as the glue between the browser and the Database.
PROGRAMMING
PHP is the glue that takes the input from the browser and adds the data to the MySQL
database. For each action add, edit, or delete you would build a PHP script that takes the data
from the html form converts it into a SQL query and updates the database.
SECURITY
The standard method is to use the security and authentication features of the apache web
server. The tool mod_auth allows for password based authentication. You can also use
allow/deny directives to limit access based on location. Using one or both of these apache
tools you can limit access based on who they are or where they are connecting from. Other
security features that you may want to use would be mod_auth_ldap, mod_auth_oracle,
certificate based authentication provided by mod_ssl.
Applications not well suited for LAMP would include applications that have a frequent need for
exchanging large amounts of transient data or that have particular and demanding needs for
state maintenance. It should be remembered that at the core http is a stateless protocol and
although cookies allow for some session maintenance they may not be satisfactory for all
applications. If you find yourself fighting the http protocol at every turn and avoiding the “url as
a resource mapped to the file system” arrangement of web applications then perhaps LAMP is
not the best choice for that particular application.
In the coding world, we have been extensively using the following technologies in LAMP
projects especially in web 2.0 websites:
• E-commerce websites
• Large-scale enterprise app development
• B2B and B2C based services
• Social networking sites
• CMS Development
• LAMP Server Development
• Online reservation systems
• Third Party Integrations Services
• CRM applications and much more…
EASY TO CODE
Ask all developers and they will tell you that coding is a breeze on LAMP. What this does is
that it ensures that coding is relatively bug-free and doesn't have to go through an exhaustive
and time-consuming process of fixing the bugs.
COST FACTOR
As every layer in LAMP stack is open source, therefore, the project can be achieved with
effective development and hardware costs. So, at the initial level, startup costs can be cut
down. Moreover, many other open source projects are available in LAMP stack such as
Joomla, Drupal, OS Commerce and many more. Chose a suitable open source option,
customize and deploy a project depending on the requirements. This brings project cost
further down.
HIGHLY SECURE
Because of regular updates, secure architecture, and encryptions, this technology is incredibly
safe.
PLATFORM INDEPENDENT
Code can work on a range of operational systems (OS), together with Windows, Linux,
Android, and iOS.
EASY DEPLOYMENT
For many developers, it’s the deployment of a web application that becomes a tricky exercise;
especially when the programming language cannot be easily integrated with the server and
database. But, there are no such problems with LAMP as PHP is a standard Apache module.
This makes it easier to deploy LAMP web applications.
LOCAL DEPLOYMENT
Another huge advantage of using LAMP is that a developer can build an app locally and then
deploy it to the web. As lamp development services are exploring new technologies, there will
be a corresponding demand for proficient lamp development company who can provide
genuine services.
ADVANTAGES
One of the greatest benefits of LAMP is its firm and continuing support.
PHP and MySQL are supported by several hosting providers and allow access to
popular CMS engines, such as WordPress and Joomla.
LAMP offers versatility and customization. Developers can choose between different web
servers, such as Nginx instead of Apache, different database solutions, or even a different
programming language.
LAMP is convenient for novice developers because PHP and MySQL are easy to learn.
LAMP is faster to develop due to its non-block structure storage allocation.
DISADVANTAGES
CONCLUSION
While Flash, Active X, and other proprietary elements will continue to creep in and entice
webmasters in the end, compatibility issues and price of development will dictate what
eventually win out in the next generation of web design.
However, the foreseeable future PHP, HTML, and databases are going to be in the future of
interactive web design, and that's where I'm placing my bets. Open Source continues to play
an important role in driving web technologies.
Even though Microsoft would like to be the only player on the field, Open Source. With its
flexibility, it will almost certainly be the winner in the end. Betting the farm on LAMP (Linux,
Apache, MySql, PHP) seems much wiser to me than the alternative (Microsoft, IIS, Asp) ... not
to mention it’s a much less expensive route to follow.
REFERENCES
https://en.wikipedia.org/wiki/LAMP_(software_bundle)
http://blog.koenig-solutions.com/2015/06/23/advantages-of-lamp-as-a-web-development-platform/
http://radar.oreilly.com/2006/08/programming-language-trends.html
http://studymafia.org/lamp-technology-seminar-pdf-report-with-ppt/
http://www.corelynx.com/technology/lamp
http://www.talentelgia.com/adoption-of-lamp-technology-and-its-benefits/
https://www.ibm.com/developerworks/web/tutorials/wa-lamp/wa-lamp.html
http://www.phpfreaks.com/
http://www.rls.lib.oh.us/
http://typo3.org/documentation/document-library/tmd_phpstat/What_does_it_do-c391d4888b/
http://www.linuxforum.com
http://httpd.apache.org
http://www.mysql.com
http://www.php.net
http://www.onlamp.com
http://www.devshed.com