Avatar of KG1973
KG1973

asked on 

How to setup web service with UNIX server ?

Currently I am using windows server to host my site. I used Apache (XAMPP) as web service instead of IIS. Also this server connected to our oracle server running win2003 and with some application created using php. All html files are generated using MS Frontpage. All are done by myself.

I have made some reading and research and found that UNIX and linux is better for web hosting especially on performance and reliability than Windows.

So now, since we have one Unix server, I want to configure this as my web server. The unix specification are as follow :

Sun Sparc Enterprise T5220 Server
4 core 1.2ghz ultrasparc 2 processor
4GB FBDIMM memory
with solaris 10 and Java enterprise system software

The question is :
How to configure my unix to run similar services as my Windows server ?
Also, for web page development, can I still use MS Frontpage and then just transfer all files to UNIX htdoc? I still prefer to retain all softwares that I used in w2003 server.

Also, Is there Antivirus software for Unix ?

thanks.
Unix OSApache Web ServerPHP

Avatar of undefined
Last Comment
KG1973
ASKER CERTIFIED SOLUTION
Avatar of rubene
rubene
Flag of Netherlands image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of KG1973
KG1973

ASKER

thanks,
can you explain if I choose option 2. I don't mind to include mySQL as well because I want it for test first until everything settle, then I will connect to Oracle later. Can I uninstall it later ?

Can you provide me the link to download apache and other package for my unix server ?
I found XAMPP for solaris. It seems familiar since I already done it with windows. But it said that
it has security issue.. But setting is easier than Appserv.
http://www.apachefriends.org/en/xampp-solaris.html#225


>>.. It's also not as necessary as on a Windows server for obvious reasons
you mean UNIX don't need antivirus at all ?
Avatar of crazedsanity
crazedsanity
Flag of United States of America image

For the antivirus part:

Unix and Linux are just as capable of being infected by viruses as Windows; the reason they don't is because they are much more difficult to exploit.  Most servers have just a few ports open, which minimizes the attack surface.

It is possible to run a UNIX/Linux server without any antivirus, as long as there is no user-uploaded content; users can accidentally upload content (images, MP3's, PDFs, etc) that contain viruses.  It is unlikely to infect the server itself, but can affect vulnerable systems that access those files.
Avatar of rubene
rubene
Flag of Netherlands image

Hi again,

If you choose option 2 you install pre-built binaries distributed by Oracle or third parties. So you won't have to compile the packages yourself. You can use the pkgadd command for that. You can install Mysql both ways too and yes you can uninstall it later. If you use the pkgadd way to install it you can use pkgrm.

If you're gonna use the server in a production environment I don't recommend XAMP/SAMP or whatever *AMP package, because those are mainly targeting development environments to get you going quickly.

If you wanna go option 1 you can download the sourcecode of apache, php and mysql. You can get Apache from here: http://httpd.apache.org/download.cgi
and PHP here: http://www.php.net/get/php-5.3.6.tar.gz/from/a/mirror

Avatar of KG1973
KG1973

ASKER

There are 2 unix source,
a. http-2.2.18.tar.gz &
b. http-2.2.18.tar.bz2.
So which one ?

Also I can only download it from my pc. How can I copy to unix. Can you guide me on this ? I only knew some basic unix command.

>>If you're gonna use the server in a production environment I don't recommend XAMP/SAMP or whatever
>>*AMP package, because those are mainly targeting development environments to get you going
>>quickly.
Currently we are using it for production simply due to easy setup include ssl everything... can you suggest me other option ? How do we go about it ? Do we have to install one by one, apache,php,others etc... Are we gonna do the same for unix setup ?



SOLUTION
Avatar of rubene
rubene
Flag of Netherlands image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
Avatar of KG1973
KG1973

ASKER

>>Or you can place the downloaded file on a webserver on the intranet. Maybe the windows 2003 >>server? And then do a wget from the solaris server to the local server.

I did that already and in fact, from unix server, I just browse our webserver and click to the file, save it.
Then I open it, extract them all to unix folder. But I didn't use wget. Am I doing right ? How can I install the extracted files ?
Avatar of rubene
rubene
Flag of Netherlands image

Yeah it's ok if you downloaded it already, so you won't need to use wget anymore.

What you gotta do now is login to the unix server (console or using ssh from the pc) and then go to the folder where you extracted the files.
Then start by installing apache:
cd httpd-2.*
./configure --enable-so
make
make install


Avatar of KG1973
KG1973

ASKER

Sorry for not updating you.
Bit strange that I couldn't find the extracted files.... I am gonna start it again
Avatar of rubene
rubene
Flag of Netherlands image

Okay, no problem. Let me know if you walk into problems.
Avatar of KG1973
KG1973

ASKER

hi,
I found the folder but I couldn't find make file.

Under http-2.2.18
I found Makefile.in and Makefile.win

Can you guide me step-by-step, the command that I should execute. There is also a file install.
Here is the snapshot.

 unix-1.docx unix-1.docx
Avatar of rubene
rubene
Flag of Netherlands image

Hi,

You should run ./configure first from the directory where the sources are. The configure script will create the Makefile specifically for your setup. After that you can run make and make install.
Avatar of KG1973
KG1973

ASKER

Already did. It run ./configure but then cant run make, make install.
refer to attach file
Unix-2.docx
Avatar of rubene
rubene
Flag of Netherlands image

Aha, it looks like you don't have the make program itself yet.
You can get it from sunfreeware: ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/make-3.82-sol10-sparc-local.gz
Download it, and then unzip it and then install it using pkgadd
Avatar of KG1973
KG1973

ASKER

I just downloaded it.
FYI , all downloaded files are in apache_temp folder which I keep at desktop.

Before I start, I want to know whether I can install apache at any folder or its automatically
installed to default folder. I want to install it to new folder but where should I create it ? What is your recommendation and best place ? Do I need to move all installation files into this new folder?

Avatar of rubene
rubene
Flag of Netherlands image

Hi,

First for installing 'make': pkgadd installs the files in the package to a default location on the system. Unless you use the -R (I believe) option to specify your own root-folder. But usually you just want to use the default, so to install the 'make' package, do something like this:

cd /root/apache_temp (or wherever the directory is on the server)
gunzip make-3.82-sol10-sparc-local.gz
pkgadd -d make-3.82-sol10-sparc-local

Now you should have make available and you can continue to compile apache.

As for packages you compile yourself, you can determine your own installation path for that too. By default apache ends up in /usr/local/apache2 I think. If you want to specify your own root, you should specify the --prefix option in the configure command, i.e.:
./configure --prefix=/usr/local/myapache

and then:
make
make install
Avatar of KG1973
KG1973

ASKER

Hi, I managed to run pkgadd, but then failed to proceed (make, make install)
# make
make: not found
# ./configure --prefix=/usr/local/myapache
./configure: not found

-------------------------------------------------------------------------------------------


Here is the output ... from start pkgadd...
---------------------------------------------------
# cd home/oracle
# pwd
/export/home/oracle
# cd apache_jhd
# ls -al
total 5832
drwxr-xr--   4 oracle   oinstall     512 Jun  4 10:39 .
drwxrwxr-x  22 oracle   oinstall    1024 Jun  2 15:59 ..
drwxr-xr-x  11 oracle   oinstall    1024 May 29 13:19 httpd-2.2.18
drwxr-xr--   2 oracle   oinstall     512 May 30 08:52 make
-rw-r--r--   1 oracle   oinstall 2970112 May 30 08:50 make-3.82-sol10-sparc-loca      l
# pkgadd -d make-3.82-sol10-sparc-local

The following packages are available:
  1  SMCmake     make
                 (sparc) 3.82

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: all

Processing package instance <SMCmake> from </export/home/oracle/apache_jhd/make-      3.82-sol10-sparc-local>

make(sparc) 3.82
FSF

The selected base directory </usr/local> must exist before
installation is attempted.

Do you want this directory created now [y,n,?,q] y
Using </usr/local> as the package base directory.
## Processing package information.
## Processing system information.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

Installing make as <SMCmake>

## Installing part 1 of 1.
/usr/local/bin/make
/usr/local/doc/make/ABOUT-NLS
/usr/local/doc/make/AUTHORS
/usr/local/doc/make/COPYING
.
.
.
/usr/local/share/man/man1/make.1
[ verifying class <none> ]

Installation of <SMCmake> was successful.
Installation of <SMCmake> was successful.

# make
make: not found
# ./configure --prefix=/usr/local/myapache
./configure: not found
--------------------------------------------------------------------
then i check for make file and found here...

# pwd
/usr/local/bin
# ls -al
total 420
drwxr-xr-x   2 bin      bin          512 Jun  4 10:44 .
drwxr-xr-x   6 root     root         512 Jun  4 10:54 ..
-rwxr-xr-x   1 bin      bin       198964 Jul 31  2010 make
#


Avatar of rubene
rubene
Flag of Netherlands image

I think you have to add /usr/local/bin to your PATH environment variable, so it can find make.
How to set the path variable depends on your shell, but for bourne/bash it's like this:

export PATH=$PATH:/usr/local/bin

After that you should be able to run make.



Avatar of KG1973
KG1973

ASKER


rubene,
this is another error ...
I run this command at the same place as I did for pkgadd.
which is  at /export/home/oracle/apache_jhd but I tried both as follow :

1.
# export PATH=$PATH:/usr/local/bin
PATH=/usr/sbin:/usr/bin:/usr/local/bin: is not an identifier

2.
# export PATH=$PATH:/export/home/oracle/apache_jhd
PATH=/usr/sbin:/usr/bin:/export/home/oracle/apache_jhd: is not an identifier
Avatar of rubene
rubene
Flag of Netherlands image

Hi,

That's because your shell doesn't support this syntax. Try it like this instead:

PATH=$PATH:/usr/local/bin
export PATH
Avatar of KG1973
KG1973

ASKER

Another error...

# pwd
/export/home/oracle/apache_jhd
# ls -al
total 5832
drwxr-xr--   4 oracle   oinstall     512 Jun  4 10:39 .
drwxrwxr-x  22 oracle   oinstall    1024 Jun  2 15:59 ..
drwxr-xr-x  11 oracle   oinstall    1024 May 29 13:19 httpd-2.2.18
drwxr-xr--   2 oracle   oinstall     512 May 30 08:52 make
-rw-r--r--   1 oracle   oinstall 2970112 May 30 08:50 make-3.82-sol10-sparc-local

# PATH=$PATH:/export/home/oracle/apache_jhd
# export PATH
# make
ld.so.1: make: fatal: libintl.so.8: open failed: No such file or directory
Killed

also i tried...
# PATH=$PATH:/usr/local/bin
# export PATH
# make
ld.so.1: make: fatal: libintl.so.8: open failed: No such file or directory
Killed
Avatar of rubene
rubene
Flag of Netherlands image

Hi,

Did you execute configure first? Cause you need to do that before running make
Avatar of KG1973
KG1973

ASKER

Yes I did,

# cd export/home/oracle
# ls
apache_jhd    Documents     oslevel       sqlnet.log
Desktop       oraInventory  OSLEVEL
# cd apache_jhd
# PATH=$PATH:/export/home/oracle/apache_jhd
# export PATH
# ./configure
./configure: not found
# ./configure --prefix=/export/home/oracle/apache_jhd
./configure: not found
#
Avatar of crazedsanity
crazedsanity
Flag of United States of America image

Check in the directory you're running "./configure" in to make sure that command exists.  It may have a different name; there may also be a README or SETUP file that will point you in the right direction (there's generally a text file with step-by-step instructions on how to compile).
Avatar of rubene
rubene
Flag of Netherlands image

That's actually strange, because you were able to run it in an earlier post. Can you list the contents of the apache_jhd directory?
Avatar of rubene
rubene
Flag of Netherlands image

Also you might wanna try to run it like this:

sh ./configure

Avatar of KG1973
KG1973

ASKER


# ./configure --enable-so
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking target system type... sparc-sun-solaris2.10

Configuring Apache Portable Runtime library ...

checking for APR... reconfig
configuring package in srclib/apr now
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking target system type... sparc-sun-solaris2.10
Configuring APR library
Platform: sparc-sun-solaris2.10
checking for working mkdir -p... yes
APR Version: 1.4.4
checking for chosen layout... apr
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/export/home/oracle/apache_jhd/httpd-2.2.18/srclib/apr':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
configure failed for srclib/apr
# PATH=$PATH:/export/home/oracle/apache_jhd/httpd-2.2.18
# export PATH
# ./configure --enable-so
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking target system type... sparc-sun-solaris2.10

Configuring Apache Portable Runtime library ...

checking for APR... reconfig
configuring package in srclib/apr now
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking target system type... sparc-sun-solaris2.10
Configuring APR library
Platform: sparc-sun-solaris2.10
checking for working mkdir -p... yes
APR Version: 1.4.4
checking for chosen layout... apr
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/export/home/oracle/apache_jhd/httpd-2.2.18/srclib/apr':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
configure failed for srclib/apr
#


Avatar of KG1973
KG1973

ASKER

This is the content of the folder

# pwd
/export/home/oracle/apache_jhd/httpd-2.2.18
# ls -al
total 2376
drwxr-xr-x  11 oracle   oinstall    1024 Jun  7 15:59 .
drwxr-xr--   4 oracle   oinstall     512 Jun  4 10:39 ..
-rw-r--r--   1 oracle   oinstall       0 May  8 14:52 .deps
-rw-r--r--   1 oracle   oinstall    7214 Jan 24  2005 .gdbinit
-rw-r--r--   1 oracle   oinstall   14882 Nov 22  2004 ABOUT_APACHE
-rw-r--r--   1 oracle   oinstall   18613 Nov 24  2008 acinclude.m4
-rw-r--r--   1 oracle   oinstall   56952 Oct  6  2010 Apache.dsw
drwxr-xr-x   5 oracle   oinstall    1024 May 17 16:00 build
-rw-r--r--   1 oracle   oinstall    2644 Aug 24  2007 BuildAll.dsp
-rw-r--r--   1 oracle   oinstall    2692 Jul 30  2009 BuildBin.dsp
-rwxr-xr-x   1 oracle   oinstall    5786 Feb  9 20:13 buildconf
-rw-r--r--   1 oracle   oinstall  115909 May  6 21:14 CHANGES
-rw-r--r--   1 root     root         133 Jun  7 15:59 confdefs.h
-rw-r--r--   1 oracle   oinstall   10943 Nov 22  2004 config.layout
-rw-r--r--   1 oracle   oinstall    8110 Jun  7 15:59 config.log
-rwxr-xr-x   1 root     root          74 Jun  7 15:59 config.nice
-rwxr-xr-x   1 oracle   oinstall  660992 May  8 14:52 configure
-rw-r--r--   1 oracle   oinstall   24327 Apr 17 03:09 configure.in
drwxr-xr-x   9 oracle   oinstall     512 May 17 16:00 docs
-rw-r--r--   1 oracle   oinstall     403 Nov 22  2004 emacs-style
-rw-r--r--   1 oracle   oinstall    1248 May  7 12:37 httpd.dep
-rw-r--r--   1 oracle   oinstall    4124 Jun 12  2008 httpd.dsp
-rw-r--r--   1 oracle   oinstall    8994 May  7 01:28 httpd.mak
-rw-r--r--   1 oracle   oinstall   12178 May  8 14:52 httpd.spec
drwxr-xr-x   2 oracle   oinstall    1024 May 17 15:59 include
-rw-r--r--   1 oracle   oinstall    4729 Sep 19  2008 INSTALL
-rw-r--r--   1 oracle   oinstall    2909 Dec  8  2006 InstallBin.dsp
-rw-r--r--   1 oracle   oinstall    5145 Nov 29  2005 LAYOUT
-rw-r--r--   1 oracle   oinstall   30119 May  7 12:37 libhttpd.dep
-rw-r--r--   1 oracle   oinstall   17039 Jan 12  2007 libhttpd.dsp
-rw-r--r--   1 oracle   oinstall   28503 May  7 01:28 libhttpd.mak
-rw-r--r--   1 oracle   oinstall   28690 Jan 19  2008 LICENSE
-rw-r--r--   1 oracle   oinstall    8739 Nov 26  2008 Makefile.in
-rw-r--r--   1 oracle   oinstall   34725 Oct  6  2010 Makefile.win
drwxr-xr-x  20 oracle   oinstall     512 May 17 16:00 modules
-rw-r--r--   1 oracle   oinstall     828 Jan  6  2009 NOTICE
-rw-r--r--   1 oracle   oinstall   12806 Apr  1 21:47 NWGNUmakefile
drwxr-xr-x   9 oracle   oinstall     512 May 17 16:00 os
-rw-r--r--   1 oracle   oinstall    5954 Jan 10  2007 README
-rw-r--r--   1 oracle   oinstall    2553 Dec 21 07:23 README-win32.txt
-rw-r--r--   1 oracle   oinstall    5332 Oct 14  2009 README.platforms
-rw-r--r--   1 oracle   oinstall   10183 Mar 14  2005 ROADMAP
drwxr-xr-x   3 oracle   oinstall    1024 May 17 16:00 server
drwxr-xr-x   5 oracle   oinstall     512 May 17 15:59 srclib
drwxr-xr-x   4 oracle   oinstall    1536 May 17 16:00 support
drwxr-xr-x   2 oracle   oinstall     512 May 17 15:59 test
-rw-r--r--   1 oracle   oinstall    8183 Oct 18  2005 VERSIONING
#
Avatar of rubene
rubene
Flag of Netherlands image

It cannot seem to find gcc. What if you just type gcc on the commandline. It should say something like "gcc: no input files". If it doesn't and returns something like command not found then locate it first.
To do this use the find command:

find / -name gcc -print

Then when you found out where the gcc executable is located then add it to your PATH variable (PATH=$PATH:/path/to/gcc then export PATH).

Avatar of KG1973
KG1973

ASKER



# find / -name gcc -print
/usr/sfw/lib/gcc
# PATH=$PATH:/usr/sfw/lib
# export PATH
# ./configure --enable-so

then it run ( long process, I can't copy all output ), but here the last part
...
checking whether to enable mod_alias... yes (default)
checking whether to enable mod_rewrite... no
  setting HTTPD_LDFLAGS to "-export-dynamic"
checking whether to enable mod_so... yes

Restore user-defined environment settings...

  restoring CPPFLAGS to ""
  setting EXTRA_CPPFLAGS to " -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE"
  restoring CFLAGS to ""
  setting EXTRA_CFLAGS to " -g -O2"
  restoring CXXFLAGS to ""
  setting EXTRA_CXXFLAGS to ""
  restoring LDFLAGS to ""
  setting EXTRA_LDFLAGS to " "
  restoring LIBS to ""
  setting EXTRA_LIBS to "-lm "
  restoring INCLUDES to ""
  setting EXTRA_INCLUDES to "-I$(top_builddir)/srclib/pcre -I. -I$(top_srcdir)/os/$(OS_DIR) -I$(top_srcdir)/server/mpm/$(MPM_SUBDIR_NAME) -I$(top_srcdir)/modules/http -I$(top_srcdir)/modules/filters -I$(top_srcdir)/modules/proxy -I$(top_srcdir)/include -I$(top_srcdir)/modules/generators -I$(top_srcdir)/modules/mappers -I$(top_srcdir)/modules/database -I/export/home/oracle/apache_jhd/httpd-2.2.18/srclib/apr/include -I/export/home/oracle/apache_jhd/httpd-2.2.18/srclib/apr-util/include -I$(top_srcdir)/modules/proxy/../generators -I$(top_srcdir)/modules/ssl -I$(top_srcdir)/modules/dav/main"

Construct makefiles and header files...

creating config_vars.mk
configure: creating ./config.status
creating modules/aaa/Makefile
creating modules/arch/win32/Makefile
creating modules/cache/Makefile
creating modules/database/Makefile
creating modules/debug/Makefile
creating modules/echo/Makefile
creating modules/experimental/Makefile
creating modules/filters/Makefile
creating modules/ldap/Makefile
creating modules/loggers/Makefile
creating modules/metadata/Makefile
creating modules/proxy/Makefile
creating modules/ssl/Makefile
creating modules/test/Makefile
creating os/unix/Makefile
creating server/mpm/Makefile
creating server/mpm/prefork/Makefile
creating modules/http/Makefile
creating modules/dav/main/Makefile
creating modules/generators/Makefile
creating modules/dav/fs/Makefile
creating modules/dav/lock/Makefile
creating modules/mappers/Makefile
creating Makefile
creating modules/Makefile
creating srclib/Makefile
creating os/Makefile
creating server/Makefile
creating support/Makefile
creating srclib/pcre/Makefile
creating test/Makefile
config.status: creating docs/conf/httpd.conf
config.status: creating docs/conf/extra/httpd-autoindex.conf
config.status: creating docs/conf/extra/httpd-dav.conf
config.status: creating docs/conf/extra/httpd-default.conf
config.status: creating docs/conf/extra/httpd-info.conf
config.status: creating docs/conf/extra/httpd-languages.conf
config.status: creating docs/conf/extra/httpd-manual.conf
config.status: creating docs/conf/extra/httpd-mpm.conf
config.status: creating docs/conf/extra/httpd-multilang-errordoc.conf
config.status: creating docs/conf/extra/httpd-ssl.conf
config.status: creating docs/conf/extra/httpd-userdir.conf
config.status: creating docs/conf/extra/httpd-vhosts.conf
config.status: creating include/ap_config_layout.h
config.status: creating support/apxs
config.status: creating support/apachectl
config.status: creating support/dbmmanage
config.status: creating support/envvars-std
config.status: creating support/log_server_status
config.status: creating support/logresolve.pl
config.status: creating support/phf_abuse_log.cgi
config.status: creating support/split-logfile
config.status: creating build/rules.mk
config.status: creating build/pkg/pkginfo
config.status: creating build/config_vars.sh
config.status: creating include/ap_config_auto.h
config.status: executing default commands
# pwd
/export/home/oracle/apache_jhd/httpd-2.2.18
Avatar of KG1973
KG1973

ASKER

Now what should ?

I did the following just after running configure...

# find / -name make -print
/usr/share/lib/make
/usr/ccs/bin/make
/usr/xpg4/bin/make
/usr/local/bin/make
/usr/local/doc/make
/export/home/oracle/apache_jhd/make
/oracle/oradata/oracle/product/10.2.0/db_1/inventory/make
# PATH=$PATH:/usr/local/bin
# export PATH
# make
ld.so.1: make: fatal: libintl.so.8: open failed: No such file or directory
Killed
#
# make install
ld.so.1: make: fatal: libintl.so.8: open failed: No such file or directory
Killed
#
Avatar of rubene
rubene
Flag of Netherlands image

Ah good, we're getting there. Now gcc is missing a shared library libintl. You can also download it from sunfreeware, see: ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/libintl-3.4.0-sol10-sparc-local.gz
Unpack it and pkgadd it first and then try running make again.
Avatar of KG1973
KG1973

ASKER

rubene,
Sorry for not updating anything since your last post. Actually I am on leave after that.
Anyway, I am back but I am just wandering where should I unpack the file that you
suggested. I already downloaded it.
Is it ok to unpack here /export/home/oracle/apache_jhd/make ?

thanks.
Avatar of KG1973
KG1973

ASKER

The problem solved but done by my administrator. He also follow all Rubene guides. Even not completed, but he finally had done it. Big contributors is to Rubene.
PHP
PHP

PHP is a widely-used server-side scripting language especially suited for web development, powering tens of millions of sites from Facebook to personal WordPress blogs. PHP is often paired with the MySQL relational database, but includes support for most other mainstream databases. By utilizing different Server APIs, PHP can work on many different web servers as a server-side scripting language.

125K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo