აგერ ბატონო, გაითვალისწინეთ, რომ გამოყენებულია Apache2, PHP4 თუმცა ცვლილებები ადვილი შესატანია სხვა ვერსიებისათვის.
ყურადღება, ყურადღება! თუ აყენებთ 2.2.x ვერსიის apache-ს, აუცილებლად დააყენეთ php აი აქედან: http://snaps.php.net/ ბოლო სტაბილური ვერსია მოქაჩეთ (და არა CVS) სხვა შემთხვევაში, მიიღებთ შეცდომას: რაღაც ამის სმსგავსს: Can Not Load Apache2php5.dll to server, the specified module can not be found და შეილება ჭკუიდან აიწიოთ, რადგანაც სინამდვილეში ყველაფერი სწორად იქნება, ამ პაკეტში, კი ცალკე DLL-ია კაკრაზ 2.2 ვერსიისთვის და ეგ გამოიყენეთ.საფეხური პირველი:
ვაყენებთ Apache-ს:
ვიღებთ ახლადმოქაჩულ Apache-ს საინსტალაციოს და ვუშვებთ
ინსტალირება ძალიან ადვილია და ამიომ აქ აღწერას არ დავიწყებ, თუ ვინმემ ვერ დააინსტალირეთ მითხარით და მაგასაც დავწერ, მაგრამ მთლად ჩემს ხარჯზე ნუ იქნებით, ცოტა თქვენც მოინდომეთ
ხო, არის ორი ვარიანტი, დავაყენოთ როგორც სერვისი 80 პორტზე და სულ ჩართული იყოს, ან დავაყენოთ არა როგორც სერვისი და იმუშაოს 8080 პორტზე, მე ვაყენებ როგორც სერვისს 80 პორტზე, მერე კი ხელით ვთიშავ და ვრთავ მხოლოდ მაშინ, როცა მჭირდება. სერვისის გასათიშად: Start->Run->services.msc ვეძებთ Apache2-ს და პროპერტიებში ვაძლევთ Startup Type - Manual შემდეგ კი, როცა გვინდა აპაჩის გაშვება, აპაჩის მიერ სტარტში შექმნილი პროგრამების ჯგუფიდან ვახდენთ კონტროლს.
პირველი ეტაპი დასრულებულია, გადავდივართ მეორე ეტაპზე, ვაკონფიგურერბთ ჩვენს სერვერს ჩვენსავე გემოზე.
1. ვებ-გვერდების დირექტორია: ჩვეულებრივ ეს დირექტორიაა C:\Program Files\Apache Group\Apache2\htdocs მაგრამ შეიძლება ასე არ გვაწყობს, ამიტომ: ვხსნით კონფიგურაციის ფაილს, ვეძებთ დირექტივა DocumentRoot-ს და გვერდიტ მოთავსებულ მისამართს ვცვლით ჩვენთვის საჭიროზე. ცოტა ქვევით ვეძებთ <Directory "C:\Program Files\Apache Group\Apache2\htdocs"> -ს მსგავს ხაზს და იქაც ვცვლით მისამართს ჩვენთვის სასურველზე. საბოლოოდ გვექნება:
DocumentRoot "Disk:/path/web"
<Directory "Disk:/path/web"> ცხადია მისამართი პირობითია.
2. შემდეგი ეტაპი, DirectoryIndex, ანუ ის ფაილების სახელები და გაფართოებები,რაც ავტომატურად უნდა გაიხსნას სერვერზე მიმართვისას. ჩვეულებრივ წერია index.html index.html.var, მაგრამ ჩვენ ვამატებთ index.php-ს რადგანაც მომავალში PHP-ს ინსტალაცია გვაქვს განსაზღვრული და საქმეს წინ წავიგდებთ. საბოლოოდ ვიღებთ:
DirectoryIndex index.php index.html index.html.var
3. ვირტუალური ჰოსტები: ავხსნათ იდეა, როცა ჩვენ ვებს გვერდ-ს ვაკეთებთ და ლოკალურ სერვერზე ვტესტავთ, გვიწევს ავკრიფოთ ბორუზერში : 127.0.0.1 ან localhost, თუ გვერდი ერთია და თან 2. ეტაპში რაც ვილაპარაკე იმის შესაბამისი, ძალიან კარგია, მაგრამ დავუშვათ ვაკეთებთ 3 სხვადასხვა პროექტს და გვინდა ჩვენს "Disk:/path/web" დირექტორიაში გვქონდეს შესაბამისი 3 სხვადასხვა დირექტორია, web1,web2,web3 და გვეზარება ყოველ ჯერზე ვკრიფოთ ბროუზერში 127.0.0.1/web1 და ა.შ. მაშინ რა ვქნათ? რა ვქნათ და ჩავდივართ კონფიგურაციის ფაილის ბოლოში, ვეძებთ NameVirtualHost დირექტივას და ვწერთ ასეთ რამეს:
NameVirtualHost 127.0.0.1
შემდეგ ვწერთ:
<VirtualHost localhost>
ServerAdmin webmaster@localhost
DocumentRoot "Disk:/path/web"
ServerName localhost
</VirtualHost>
ეს იქნება "მთავარი" მისამართი, თუ ამას ავკრეფთ. მოვხვდებით საბაზო დირექტორიაში, როგორც ადრე ვხვდებოდით, შემდეგ ვწერთ :
<VirtualHost web1>
ServerAdmin webmaster@web1
DocumentRoot "Disk:/path/web/web1"
ServerName web1
</VirtualHost>
ეს უკვე იქნება web1-ს შესაბამისი მისამართი, და თუ ჩვენ ბროუზერში ავკრეფთ web1-ს, მაშინ მოხდება სწორედ web1-ის გახსნა. ძალიან მოსახერხებელი რამ: შეგვიძლია ყველა ვირტუალური ჰოსტისთვის თავისი DirectoryIndex-ი მივუთითოთ, თავისი ლოგების დირექტორია მივუთითოთ და ა.შ.
ანალოგიურად ვაყენებთ დანარჩენ ვირტუალურ ჰოსტებსაც, თუმცა ისინი ჯერ არ იმუშავებენ, ბოლომდე რომ ავამუშაოთ, მივდივართ C:\Windows\System32\Drivers\ect\ ვხსნით ფაილს hosts ყოველგვარი გაფართოვების გარეშე, და იქ ვხედავთ:
127.0.0.1 localhost
იმავე ხაზზე ვუთითებთ web1-ს და ვიღებთ 127.0.0.1 localhost web1 და ა.შ. ვასეივებთ ფაილს და ეგაა.
ყერადღება! მითითებული მისამართები უნდა არსებობდეს აპაჩის გაშვების მომენტში ანუ ყველა ვირტუალური ჰოსტის შესაბამისი დირექტორია ფიზიკურად უნდა არსებობდეს!პრინციპი, ეხლა დავწერ-მერე შევქმნი აპაჩის გაშვების მცდელობისას არ ამართლებს და ბოლოს კონფიგურაციის ფაილში ჩაწერეთ აი ეს:
AddType application/x-httpd-php .php
პრინციპში Apache-ს კონფიგურაცია ამით დასრულებულია, პატარა ცვლილებას შევიტანთ PHP-სდ აყენების შემდგომ.
საფეხური 2:
ვაყენებთ PHP-ს. ვიღებთ მოქაჩულ არქივს, ამოგვაქვს შიგთავსი და ვაკოპირებთ სასურველ დირექტორიაში, მაგალითად: C:/Program Files/PHP. ვიღებთ php.ini-recomended ფაილს, ვაძრობთ -recomended -ს და ვაკოპირებთ C:\Windows-ს დირექტორიაში, ვხსნით, მცირედი შესწორებებისათვის:
1. ვეძებთ error_reporting დირექტივას, ვუთითებთ შესაბამის დონეს შეცდომების ჩვენებისა, მე პირადად მაქვს: E_ALL & ~E_NOTICE, შემდეგ ვეძებთ display_errors დირექტივას და ვუთითებთ on თორემ შეცდომებზე ინფორმაცია არ გამოჩნდება....
მივიღეთ:
error_reporting = E_ALL & ~E_NOTICE
display_errors = on
ვეძებთ register_globals = Off და ან ვრთავთ, ან არა, ეს იმაზეა დამოკიდებული, გვინდა თუ არა. ვინც არ იცის ავუხსნი, რომ თუ გამორთულია, მაშინ პარამეტრები პირდაპირ არ გადაეცემა ცვლადებში, ანუ თუ სცენარს ვიძახებთ რაღაც პარამეტრით აი ასე:test.php?some_param=something მაშინ ცვლადი $some_param იქნება ინიციალიზებული და მიენიჭება მნიშვნელობა something თუ ეს ოპცია ჩართულია, თუ არა და უნდა გამოვიყენოთ ან getenv ფუნქცია, ან $_get ან $_post ან $globals მასივთაგან ერთ-ერთი. გამომდინარე იქედან, რომ სერვერზე გათიშულია ხოლმე და კიდევ იქედან, რომ ცუდად დაწერილი სცენარისთვის ეს პოტენციური ხვრელია უსაფრთხოების სისტემაში, რეკომენდირებულია მისი გამორთვა, თუმცა თქვენი საქმისა თქვენ იცით.
ვეძებთ extension_dir-ს და ვუთითებთ ჩვენს შესაბამის დირექტორიას დამატებითი მოდულებისა.
იმ შემთხვევაში თუ აპირებთ გრაფიკულ ინფორმაციასტან მუშაობას მაშინ ვეძებთ ;extension=php_gd2.dll-ს და ვხსნით წინ კომენტარის ნიშანს. ასევე ვხსნით კომენტარის ნიშანს ყველა იმ მოდულს, რომელიც მომავალში დაგვჭირდება.
შემდეგ ვეძებთ [mail function]-ს და ვაკონფიგურირებთ მოცემულ ცვლადებს, რათა ფუნქცია mail()-ის გამოყენება შევძლოთ.
მგონი საკმარისია, MySQL-ი ისედაც ჩართულია და სხვა ცვლილებების და კონფიგურაციებისთვის გთხოვთ გუგულა გამოიყენოთ, მე მთავარს გეუბნებით.
ეხლა წავედით ინსტალაციის ადგილას, ჩვენს შემთხვევაში C:/Program Files/PHP, შევდივართ დირექტორიაში sapi ვიღებთ ფაილს php4apache2.dll და ვაკოპირებთ C:/Program Files/PHP-ში, ანუ იქ, სადაც php.### არის განთავსებული, დავუბრუნდეთ Apache-ს, ვხსნით კონფიგურაციის ფაილს,ვეძებთ LoadModule დირექტივების კორიანტელს და ვამატებთ კიდევ ერთს:
LoadModule php4_module "C:/Program Files/PHP/php4apache2.dll"
ყველაფერს ვინახავთ და ყველაფერს ვხურავთ
ეხლა დავტესტოთ მუშაობს თუ არა ეს ყველაფერი რაც ამდენი ხანი ვაკეთეთ!
გავუშვათ Apache! თუ ერორი ამოაგდო, დავფიქრდეთ, კიდევ ერთხელ გადავხედოთ რა და როგორაა და კიდევ ვცადოთ.თუ კიდევ შეცდომა მოხდა, ვიმეორებთ კვლავ თავიდან, თუ კიდევ შეცდომა მოხდა, მე აღარ მისმენთ, ერთი კარგად შემიკურთხებთ და თქვენით იწყებთ ჩალიჩს, სამაგიეროდ რაღაცეებს სწავლობთ!
თუ აპაჩი გაეშვა, მივდივართ ჩვენი ვებ-გვერდების კატალოგში "Disk:/path/web", ვქმნით ფაილს index.php და ვწერთ შიგნით <? phpinfo (); ?> ვინახავთ, გამოვდივართ, ბროუზერში ვწერთ localhost და თუ გამოვიდა დიდი გვერდი, (თუ როგორი მიხვდებით
) სადაც ატასი ინფორმაციია მოცემული php-ს კონფიგურაციაზე და არა მარტო მასზე, ე.ი. ყველაფერი მუშაობს! გილოცავთ!
საფეხური მესამე:
ვაყენებთ MySQL-ს, ინსტალაცია მარტივია, გირჩევთ ასევე ოფიციალურ გევრდძე მოძებნოთ უტილიტა mysql_administrator -ი, რომელიც მომავალში ბევრჯერ გამოგადგებათ. MySQL-ს სერვერიც დადგება სერვისად, ისევე როგორც apache შეგიძლიათ ესეც Manual -რეჟიმზე დააყენოთ და გაუშვათ მხოლოდ მაშინ, როცა გჭირდებათ, რასაც გირჩევთ კიდეც. დააყენეთ mysql_administrator -ი, გაუშვით MySQL System Tray Monitor-ი, დაკლიკეთ მარჯვენა კნოპი, მანდ მენიუში არის New Instance თუ რაღაც მსგავსი, მიეცით ეგ, გამოვა ფანჯარა, გადადიხართ Configure Service-ზე, ხიეთ Install New Service, შეიყვანეთ შერვისის სახელი,მერე ძირითად ფანჯარაში ნახავთ რაც წითლადაა, ე.ი. არასწორი პარამეტრებია შეყვანილი, ძირითადად ორი რამე იქნება ჩასასწორებელი, config filename და path to binary, ამ უკანასკნელში უნდა მოძებნოთ ფაილი mysqld-opt.###, რომელიც MySQL-ის ინსტალაციის დირექტორაში, /bin/-შია მოთავსებული, მეორე პარამეტრში კი ძირითადად არარსებული ფაილის მისამართია მითითებული, შექმენით ფაილი my.cnf სადმე ინსტალაციის დირექტორიაში და ეგ მიუთითეთ. ხიეთ Applay Changes. მგონი რესტარტიც უნდა მერე კომპიუტერს.
მოკლედ შემდეგ ჩატვირთვაზე გაუშვით MySQL System Tray Monitor-ი, მიეცით Start Instance, თუ იკონკაზე წითელი ყლინჯი გამწვანდა, გილოცავთ!
პრაქტიკულად შეიძლება ითქვას, რომ მოვრჩით, დანარჩენი კონფიგურაცია და პრიბამბასები თქვენით!
ისე მალადეც მე, რამდენი ვწერე!
P.S. მოდერატორს ვთხოვ მომცეს ვორნი, მომავალი თაობის ასე გაზარმაცებისთვის
This post has been edited by Gode on 13 Oct 2006, 18:25